�PNG  IHDR22?�� pHYs  �� OiCCPPhotoshop ICC profilexڝSgTS�=���BK���KoR RB���&*! J�!��Q�EEȠ�����Q, � ��!���������{�kּ������>���� �H3Q5� �B�������.@� $p�d!s�#�~<<+"��x� �M��0���B�\���t�8K�@z�B�@F���&S�`�cb�P-`'������{[�!�� e�Dh;��V�EX0fK�9�-0IWfH���� � 0Q��){`�##x��F�W<�+��*x��<�$9E�[-qWW.(�I+6aa�@.�y�2�4���������x����6��_-��"bb���ϫp@�t~��,/��;�m��%�h^ �u��f�@����W�p�~<�5�j>{�-�]c�K'Xt����o��(�h���w��?�G�%�fI�q^D$.Tʳ?�D��*�A��,���� �`6�B$��BB d�r`)��B(�Ͱ*`/�@4�Qh��p.�U�=p�a��(�� A�a!ڈb�X#����!�H�$ ɈQ"K�5H1R�T UH�=r9�\F��;�2����G1���Q=� �C��7�F� �dt1�����r�=�6��Ыhڏ>C�0��3�l0.��B�8, �c˱"� ���V����cϱw�E� 6wB aAHXLXN�H� $4� 7 �Q�'"��K�&���b21�XH,#��/{�C�7$�C2'��I��T��F�nR#�,��4H#���dk�9�, +ȅ����3��!�[ �b@q��S�(R�jJ��4�e�2AU��Rݨ�T5�ZB���R�Q��4u�9̓IK�����hh�i��t�ݕN��W���G���w ��Ljg(�gw��L�Ӌ�T071���oUX*�*|�� �J�&�*/T����ު U�U�T��^S}�FU3S� Ԗ�U��P�SSg�;���g�oT?�~Y��Y�L�OC�Q��_�� c�x,!k ��u�5�&���|v*�����=���9C3J3W�R�f?�q��tN �(���~���)�)�4L�1e\k����X�H�Q�G�6������E�Y��A�J'\'Gg����S�Sݧ �M=:��.�k���Dw�n��^��Lo��y���}/�T�m���G X� $� �<�5qo</���QC]�@C�a�a�ᄑ��<��F�F�i�\�$�m�mƣ&&!&KM�M�RM��)�;L;L���͢�֙5�=1�2��כ߷`ZxZ,����eI��Z�Yn�Z9Y�XUZ]�F���%ֻ�����N�N���gð�ɶ�����ۮ�m�}agbg�Ů��}�}��= ���Z~s�r:V:ޚΜ�?}����/gX���3��)�i�S��Ggg�s�󈋉K��.�>.���Ƚ�Jt�q]�z���������ۯ�6�i�ܟ�4�)�Y3s���C�Q��? ��0k߬~OCO�g��#/c/�W�װ��w��a�>�>r��>�<7�2�Y_�7��ȷ�O�o�_��C#�d�z����%g��A�[��z|!��?:�e����A���AA�������!h�쐭!��Α�i�P~���a�a��~ '���W�?�p�X�1�5w��Cs�D�D�Dޛg1O9�-J5*>�.j<�7�4�?�.fY��X�XIlK9.*�6nl������� �{�/�]py�����.,:�@L�N8��A*��%�w%� y��g"/�6ш�C\*N�H*Mz�쑼5y$�3�,幄'���L Lݛ:��v m2=:�1����qB�!M��g�g�fvˬe����n��/��k���Y- �B��TZ(�*�geWf�͉�9���+��̳�ې7�����ᒶ��KW-X潬j9�������(�x��oʿ�ܔ���Ĺd�f�f���-�[����n �ڴ �V����E�/��(ۻ��C���<��e����;?T�T�T�T6��ݵa��n��{��4���[���>ɾ�UUM�f�e�I���?�������m]�Nmq����#�׹���=TR��+�G�����w- 6 U����#pDy��� �� :�v�{���vg/jB��F�S��[b[�O�>����z�G��499�?r����C�d�&����ˮ/~�����јѡ�򗓿m|������������x31^�V���w�w��O�| (�h���SЧ��������c3-� cHRMz%������u0�`:�o�_�F5IDATx��ytUս�?�;���fN$$��@B�!�k��� -*�gE���j�O�kQ�ʠ`U�B_ �AÐ0%�Ȕ�@r3ޛ;߳��$�@��v����^�s����������$��ߢ !�W��5�̱'-٘������4�>�Rƫ$�G��0U�H}�_ _� #��k�MJ/=�9Du *ڲ�k�PQ;0��j|�*�$�^컂脛y���>�z×� B��� ��(�:$�ʔ_�6��C!B����MVx��a��ζyY����j��ƋY2�9�F�{r��r�딟F��Q��hY6��� x��[l��RC��������nt@��;P��3��� F�w��7��:�P���ɋ'���mj���Bƪ�$�Q�L��y��߷g��\���z����v5�p�v$�v櫻�`6~K �Y�X����,�:��"�o�e0II"(��,������l_�C���/4�+f�E�!q��:����u����c��樼.UE�@� �]K�W���$-�h]�JG���Dz)�`��.�A/ ���mᏣc�3jK� �!�>���$�Q�!�_�? \�C2(E �M$Z I{�U���s�ǣ���=��@Բe ޻��W�����@ �w����}�9v,)��.}*|"�s��di���,���G�]W�AC�������|<����[��ߕ������K�*�G nߴ!��‹��J�!��6(L�a)��Am��������;adf��:�xm��nh�;֦I��(���o�C~ډa?�=��s����h��E������xp����)���_���t��W�����´;8���`dz=(��@@�+,�;�`�fhl��XȌ�3,uI�~z(J����� �ZX�A����H'�À�㜦�82|��a�n�z2��I���� ���EY�h�ε<�0�q�{��C��v�˅��?"@��χ�x�WS+��N�~�KQ�J�8ل�� _.W��� !TU{�����,��"�� �;�������HI S� ��))�o�1�H�D� ���� (� ;����"Ҕ��,���� �F=���O��&�Ph>�`���y��߲ &S��P�<��'��1s�1cĂ�N����2)����@�u��tv��<�+�-&�����h��[!FSG���' � z z0��<����8d&�����E0�,��<��"!P�b4��� �{S�����X����.�囤���T��hEF��X�q0"-<����h���]�Py*����F⩍��@v�˂�Y08�� .q��a��s����(!<̫1�3�L�H��7sYW�`��qtu�\7��?�@�Y�� %Ka�x�GZ�*W�P��y�����N0r9��Z�c�%���q,��k�����!!,��>���IB��� �x1�Xu�Y���v-���ֺ��N������JP��a�2`�e5��w��u;�6�i���̃��(K���ťa��(l51��JL��O'%���]���ٖ뿉!��{*�p+f ���i8��D�ȑ���ܩ�M��V��ӟz��x�7Z�1i}�^͜���6e����x��)u�d�ˏ�V�eG�\�X1�����=n�U'�~Y����L�\,�(d!x ,�:�TW8� M`r���@��r+v�Q0��>^;˴�VbF��('����� �*O��i��j�Ӆ����^�S3&� ���{������.ی�� N;��NU%d0�Ce\r"�C�b��&t7N�7��� �ȪD�[%l�۪�$��'m?�A9tI�9>��NVL ��� 6v~M�����ъ�B���0����9$&=ώm��W�0���L���&��E���f�f��'+�9��hv��7,���M��6�D�&�^� �����8 D֮�����o��k^z��O��hP�8q�5d*��YVq3�{��������#LX4�?��jP=3�~�؅c�ݰ�̱�ұ��8̲��2�G�����j��έ�9��w7���U�X�w�85C��?!I&���o&����L���I#�^�eV�,�^t5�k� �xs˛\��U�8��."���{���ǵ�l4��ݼ�;��r"���G�/~���gJV�N糦��ZZ^k+NN�D��I$�=OE�z����|*�*{��%k���G��>�`9��b;�s���8,�qs��c��.b��q�%�>r��n�R�Ƨ�%�,�A��le#�8���}; 21�0�b�&�QX�f���q�00����$>�h�N�'�a3��A���/�r ��L5�8�GԲ'�����w;��c#�q1���h$*��V^�k��QĽ�b:i������� ����H F#�_���,��]g����Ը����`RUU���� ��"�qD���>-��ϤI�~��3�̴�����NZ[[555�eeek7�m����YF#[��Đ��R��i��L�H�r ��@��J-�Pŝ��_|�-��6y��ks�V�U~��6���w.����(��0A� 4��f��� /���C�xŊ�ٳ����z=6�����rg���mKo��o�/����a�g���?'9%9��P��斓��~���L{�� �H��{AW��B��$����v�1b�&Mb�ر��ر#�0`�`xMBp! )Z�Nmo�mZ�g�}�eذaWTVV ���'99��C5��&�&+5�bT>|8��PUUETT����&���t��~TE%��'������b�tEGG;RSS�S�N�v��ѯ��t����u1@�ޚ"f��͈���r'L�Ph��m��ƌ�74o��`�x�q�P���NRSS�X,�����l&&&��MFFA!-��`��ҷ�n��Yuu�����x<I�LB%����KԒ50�!�3�bz�����ʸKL���;---�l6[��`��������Ȏ;�����egg4��!D�T��jWujyZ��������K����%����p�^���X,6��sV=�ܖ����6�3�X ���4ҿ��A2�&����_k�;d�� �VfOIEND�B`� 0x0x
PHP 8.1.31
Preview: backend_helper.py Size: 4.77 KB
//lib/update-notifier/backend_helper.py
#!/usr/bin/python3

import argparse
import logging
import os
import subprocess
import sys

HAVE_APTDAEMON = False
try:
    import aptdaemon.gtk3widgets
    assert aptdaemon.gtk3widgets
    HAVE_APTDAEMON = True
except ImportError:
    pass


# show updates
def show_updates():
    """ show updates using update-manager """
    cmd = ["update-manager", "--no-update"]
    res = subprocess.call(cmd)
    return (res == 0)


# install all updates
def _install_all_updates_aptdaemon():
    from gi.repository import Gtk
    from aptdaemon import client, enums
    from aptdaemon.gtk3widgets import AptProgressDialog
    client = client.AptClient()
    trans = client.upgrade_system(safe_mode=True)
    dia = AptProgressDialog(trans)
    dia.connect("finished", Gtk.main_quit)
    dia.run()
    Gtk.main()
    return trans.exit == enums.EXIT_SUCCESS


def _install_all_updates_synaptic():
    cmd = ["/usr/bin/synaptic-pkexec",
           "--dist-upgrade-mode",
           "--non-interactive",
           "--hide-main-window",
           "-o", "Synaptic::AskRelated=true",
           ]
    return subprocess.call(cmd)


def install_all_updates():
    """ install all updates either with synaptic or aptdaemon """
    if HAVE_APTDAEMON:
        return _install_all_updates_aptdaemon()
    else:
        return _install_all_updates_synaptic()


# check updates
def _check_updates_aptdaemon():
    from gi.repository import Gtk
    from aptdaemon import client, enums
    from aptdaemon.gtk3widgets import AptProgressDialog
    client = client.AptClient()
    trans = client.update_cache()
    dia = AptProgressDialog(trans)
    dia.connect("finished", Gtk.main_quit)
    dia.run()
    Gtk.main()
    return trans.exit == enums.EXIT_SUCCESS


def _check_updates_gtk():
    cmd = ["/usr/bin/synaptic-pkexec",
           "--update-at-startup",
           "--non-interactive",
           "--hide-main-window",
           ]
    subprocess.call(cmd)


def check_updates():
    """ check for updates either with aptdaemon or synaptic """
    if HAVE_APTDAEMON:
        return _check_updates_aptdaemon()
    else:
        return _check_updates_gtk()


# start packagemanager
def start_packagemanager():
    if os.path.exists("/usr/bin/synaptic-pkexec"):
        cmd = ["/usr/bin/synaptic-pkexec"]
        return subprocess.call(cmd)
    elif os.path.exists("/usr/bin/software-center"):
        return subprocess.call(["/usr/bin/software-center"])
    else:
        logging.error("neither synaptic nor software-center installed")


# add cdrom
def _add_cdrom_sp(mount_path):
    from gi.repository import Gtk
    import dbus
    import dbus.mainloop.glib
    bus = dbus.SystemBus(mainloop=dbus.mainloop.glib.DBusGMainLoop())
    proxy = bus.get_object("com.ubuntu.SoftwareProperties", "/")
    backend = dbus.Interface(proxy, "com.ubuntu.SoftwareProperties")
    backend.AddCdromSource()
    backend.connect_to_signal(
        "SourcesListModified", Gtk.main_quit)
    backend.connect_to_signal(
        "CdromScanFailed", Gtk.main_quit)
    Gtk.main()
    if os.path.exists("/usr/bin/software-center"):
        subprocess.call(["/usr/bin/software-center"])


def _add_cdrom_synaptic(mount_path):
    cmd = ["/usr/bin/synaptic-pkexec", "--add-cdrom", mount_path]
    return subprocess.call(cmd)


def add_cdrom(mount_path):
    if os.path.exists("/usr/bin/synaptic-pkexec"):
        _add_cdrom_synaptic(mount_path)
    else:
        _add_cdrom_sp(mount_path)


if __name__ == "__main__":

    parser = argparse.ArgumentParser(
        description='backend helper for update-notifier')
    parser.add_argument(
        '--debug', default=False, action="store_true",
        help='extra debug output')
    subparser = parser.add_subparsers(title="Commands")
    # show_update  - update-manager
    command = subparser.add_parser("show_updates")
    command.set_defaults(command="show_updates")
    # install_all - synaptic/aptdaemon install noninteractivly
    command = subparser.add_parser("install_all_updates")
    command.set_defaults(command="install_all_updates")
    # check_updates - synaptic --reload/aptdaemon reload
    command = subparser.add_parser("check_updates")
    command.set_defaults(command="check_updates")
    # start_pkgmanager
    command = subparser.add_parser("start_packagemanager")
    command.set_defaults(command="start_packagemanager")
    # add_cdrom
    command = subparser.add_parser("add_cdrom")
    command.add_argument("mount_path")
    command.set_defaults(command="add_cdrom")

    args = parser.parse_args()
    if args.debug:
        logging.basicConfig(level=logging.DEBUG)
    else:
        logging.basicConfig(level=logging.INFO)

    func_name = args.command
    f_kwargs = {}
    f = globals()[func_name]
    if args.command == "add_cdrom":
        f_kwargs["mount_path"] = args.mount_path
    res = f(**f_kwargs)

    if not res:
        sys.exit(1)

Directory Contents

Dirs: 0 × Files: 12
Name Size Perms Modified Actions
2.39 KB lrwxr-xr-x 2024-03-04 10:57:08
Edit Download
18.99 KB lrwxr-xr-x 2024-03-04 10:57:08
Edit Download
18.99 KB lrwxr-xr-x 2024-03-04 10:57:08
Edit Download
4.77 KB lrwxr-xr-x 2024-03-04 10:57:08
Edit Download
619 B lrwxr-xr-x 2024-03-04 10:57:08
Edit Download
1.29 KB lrwxr-xr-x 2024-03-04 10:57:08
Edit Download
11.83 KB lrwxr-xr-x 2024-03-04 10:57:08
Edit Download
358 B lrwxr-xr-x 2024-03-04 10:57:08
Edit Download
2.79 KB lrwxr-xr-x 2024-03-04 10:57:08
Edit Download
1.81 KB lrwxr-xr-x 2024-03-04 10:57:08
Edit Download
115 B lrwxr-xr-x 2024-03-04 10:57:08
Edit Download
1.69 KB lrwxr-xr-x 2024-03-04 10:57:08
Edit Download
If ZipArchive is unavailable, a .tar will be created (no compression).
© 2026 0xNothings — Secure File Manager. All rights reserved. Built with ❤️ & Tailwind x Dark UI
Upload
Kotlin Archives - Weelorum https://weelorum.com/technology/kotlin/ Full Cycle Mobile App Development Services For Startups Sun, 01 Mar 2026 20:04:38 +0000 en-US hourly 1 https://wordpress.org/?v=7.0 PayFlow https://weelorum.com/portfolio-projects/payflow/ Sun, 01 Mar 2026 20:04:38 +0000 https://weelorum.com/success-stories/payflow/ PayFlow is a fintech application that simplifies international money transfers and currency exchange. Users can hold multiple currencies, send money globally with competitive rates, and receive instant notifications. The app features biometric authentication and real-time transaction tracking.

Сообщение PayFlow появились сначала на Weelorum.

]]>
PayFlow is a fintech application that simplifies international money transfers and currency exchange. Users can hold multiple currencies, send money globally with competitive rates, and receive instant notifications. The app features biometric authentication and real-time transaction tracking.

Сообщение PayFlow появились сначала на Weelorum.

]]>
Knock Knock https://weelorum.com/portfolio-projects/knock-knock/ Sun, 01 Mar 2026 20:04:37 +0000 https://weelorum.com/success-stories/knock-knock/ Knock Knock is a real-time restaurant discovery app. It shows users what’s happening inside venues, how crowded they are, and offers live previews via photos and video. The app uses geolocation to help people choose where to eat or socialize based on current ambiance.

Сообщение Knock Knock появились сначала на Weelorum.

]]>
Knock Knock is a real-time restaurant discovery app. It shows users what’s happening inside venues, how crowded they are, and offers live previews via photos and video. The app uses geolocation to help people choose where to eat or socialize based on current ambiance.

Сообщение Knock Knock появились сначала на Weelorum.

]]>