diff -Nru screenlets-0.1.4/AUTHORS screenlets-0.1.6/AUTHORS --- screenlets-0.1.4/AUTHORS 2011-06-25 10:41:10.000000000 +0000 +++ screenlets-0.1.6/AUTHORS 2011-08-20 16:50:44.000000000 +0000 @@ -1,3 +1,6 @@ RYX (Rico Pfaus) Whise (Helder Fraga) Sorcerer (Hendrik Kaju) +Natan Yellin (Aantn) +Guido Tabbernuk + diff -Nru screenlets-0.1.4/.bzrignore screenlets-0.1.6/.bzrignore --- screenlets-0.1.4/.bzrignore 1970-01-01 00:00:00.000000000 +0000 +++ screenlets-0.1.6/.bzrignore 2010-12-05 08:56:17.000000000 +0000 @@ -0,0 +1 @@ +build diff -Nru screenlets-0.1.4/debian/changelog screenlets-0.1.6/debian/changelog --- screenlets-0.1.4/debian/changelog 2011-07-04 18:13:43.000000000 +0000 +++ screenlets-0.1.6/debian/changelog 2012-02-12 21:53:37.000000000 +0000 @@ -1,3 +1,13 @@ +screenlets (0.1.6-0ubuntu1) precise; urgency=low + + * New upstream release. + * debian/rules: + - Remove permission fix, the file is not shipped anymore. + * debian/copyright: + - Fix formating. + + -- Julien Lavergne Sun, 12 Feb 2012 22:47:27 +0100 + screenlets (0.1.4-0ubuntu2) oneiric; urgency=low * Add missing dependency on python-beautifulsoup (LP: #805198) diff -Nru screenlets-0.1.4/debian/copyright screenlets-0.1.6/debian/copyright --- screenlets-0.1.4/debian/copyright 2011-07-02 09:05:03.000000000 +0000 +++ screenlets-0.1.6/debian/copyright 2012-02-12 22:11:35.000000000 +0000 @@ -15,25 +15,18 @@ This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License version 3, as published by the Free Software Foundation. - + . This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranties of MERCHANTABILITY, SATISFACTORY QUALITY, or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. - + . You should have received a copy of the GNU General Public License along with this program. If not, see . -Comment: On Debian systems, the complete text of the GNU General + . + On Debian systems, the complete text of the GNU General Public License can be found in `/usr/share/common-licenses/GPL-3’. -Files: *.svg, - *.png -Copyright: Rico Pfaus . - Helder Fraga. - Natan Yellin (Aantn) -License: CC-BY-SA-3 - - Files: src/lib/plugins/iCal.py Copyright: Jiva DeVoe License: BSD @@ -48,7 +41,7 @@ 3. Neither the name of the University nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. - + . THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE @@ -70,12 +63,12 @@ it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version. - + . This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. - + . You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. @@ -83,23 +76,48 @@ Files: src/lib/plugins/mpdclient2.py Copyright: 2005 - Nick Welch License: Public Domain + The person or persons who have associated work with this document (the "Dedicator" or + "Certifier") hereby either (a) certifies that, to the best of his knowledge, the work + of authorship identified is in the public domain of the country from which the work is + published, or (b) hereby dedicates whatever copyright the dedicators holds in the work + of authorship identified below (the "Work") to the public domain. A certifier, moreover, + dedicates any copyright interest he may have in the associated work, and for these purposes, + is described as a "dedicator" below. + . + A certifier has taken reasonable steps to verify the copyright status of this work. + Certifier recognizes that his good faith efforts may not shield him from liability if + in fact the work certified is not in the public domain. + . + Dedicator makes this dedication for the benefit of the public at large and to the detriment + of the Dedicator's heirs and successors. Dedicator intends this dedication to be an overt act + of relinquishment in perpetuity of all present and future rights under copyright law, whether + vested or contingent, in the Work. Dedicator understands that such relinquishment of all + rights includes the relinquishment of all rights to enforce (by lawsuit or otherwise) those + copyrights in the Work. + . + Dedicator recognizes that, once placed in the public domain, the Work may be freely + reproduced, distributed, transmitted, used, modified, built upon, or otherwise exploited + by anyone for any purpose, commercial or non-commercial, and in any way, including by methods + that have not yet been invented or conceived. - -============= COMPLETE LICENCES ========================= -Creative Commons Attribution-Noncommercial-Share Alike 3.0 Unported : - +Files: *.svg + *.png +Copyright: Rico Pfaus . + Helder Fraga. + Natan Yellin (Aantn) +License: CC-BY-SA-3 THE WORK (AS DEFINED BELOW) IS PROVIDED UNDER THE TERMS OF THIS CREATIVE COMMONS PUBLIC LICENSE ("CCPL" OR "LICENSE"). THE WORK IS PROTECTED BY COPYRIGHT AND/OR OTHER APPLICABLE LAW. ANY USE OF THE WORK OTHER THAN AS AUTHORIZED UNDER THIS LICENSE OR COPYRIGHT LAW IS PROHIBITED. - + . BY EXERCISING ANY RIGHTS TO THE WORK PROVIDED HERE, YOU ACCEPT AND AGREE TO BE BOUND BY THE TERMS OF THIS LICENSE. TO THE EXTENT THIS LICENSE MAY BE CONSIDERED TO BE A CONTRACT, THE LICENSOR GRANTS YOU THE RIGHTS CONTAINED HERE IN CONSIDERATION OF YOUR ACCEPTANCE OF SUCH TERMS AND CONDITIONS. - + . 1. Definitions - + . 1. "Adaptation" means a work based upon the Work, or upon the Work and other pre-existing works, such as a translation, adaptation, derivative work, arrangement of music or other alterations of a literary or artistic work, or phonogram or performance @@ -110,7 +128,7 @@ is a musical work, performance or phonogram, the synchronization of the Work in timed-relation with a moving image ("synching") will be considered an Adaptation for the purpose of this License. - + . 2. "Collection" means a collection of literary or artistic works, such as encyclopedias and anthologies, or performances, phonograms or broadcasts, or other works or subject matter other than works listed in Section 1(f) below, which, by reason of the selection @@ -119,7 +137,7 @@ each constituting separate and independent works in themselves, which together are assembled into a collective whole. A work that constitutes a Collection will not be considered an Adaptation (as defined below) for the purposes of this License. - + . 3. "Creative Commons Compatible License" means a license that is listed at http://creativecommons.org/compatiblelicenses that has been approved by Creative Commons as being essentially equivalent to this License, including, at a minimum, because @@ -127,16 +145,16 @@ License Elements of this License; and, (ii) explicitly permits the relicensing of adaptations of works made available under that license under this License or a Creative Commons jurisdiction license with the same License Elements as this License. - + . 4. "Distribute" means to make available to the public the original and copies of the Work or Adaptation, as appropriate, through sale or other transfer of ownership. - + . 5. "License Elements" means the following high-level license attributes as selected by Licensor and indicated in the title of this License: Attribution, ShareAlike. - + . 6. "Licensor" means the individual, individuals, entity or entities that offer(s) the Work under the terms of this License. - + . 7. "Original Author" means, in the case of a literary or artistic work, the individual, individuals, entity or entities who created the Work or if no individual or entity can be identified, the publisher; and in addition @@ -146,7 +164,7 @@ (ii) in the case of a phonogram the producer being the person or legal entity who first fixes the sounds of a performance or other sounds; and, (iii) in the case of broadcasts, the organization that transmits the broadcast. - + . 8. "Work" means the literary and/or artistic work offered under the terms of this License including without limitation any production in the literary, scientific and artistic domain, whatever may be the mode or form of its expression including digital form, @@ -161,12 +179,12 @@ of data to the extent it is protected as a copyrightable work; or a work performed by a variety or circus performer to the extent it is not otherwise considered a literary or artistic work. - + . 9. "You" means an individual or entity exercising rights under this License who has not previously violated the terms of this License with respect to the Work, or who has received express permission from the Licensor to exercise rights under this License despite a previous violation. - + . 10. "Publicly Perform" means to perform public recitations of the Work and to communicate to the public those public recitations, by any means or process, including by wire or wireless means or public digital performances; to make available to the public Works in @@ -175,30 +193,30 @@ and the communication to the public of the performances of the Work, including by public digital performance; to broadcast and rebroadcast the Work by any means including signs, sounds or images. - + . 11. "Reproduce" means to make copies of the Work by any means including without limitation by sound or visual recordings and the right of fixation and reproducing fixations of the Work, including storage of a protected performance or phonogram in digital form or other electronic medium. - + . 2. Fair Dealing Rights. Nothing in this License is intended to reduce, limit, or restrict any uses free from copyright or rights arising from limitations or exceptions that are provided for in connection with the copyright protection under copyright law or other applicable laws. - + . 3. License Grant. Subject to the terms and conditions of this License, Licensor hereby grants You a worldwide, royalty-free, non-exclusive, perpetual (for the duration of the applicable copyright) license to exercise the rights in the Work as stated below: - + . 1. to Reproduce the Work, to incorporate the Work into one or more Collections, and to Reproduce the Work as incorporated in the Collections; - + . 2. to create and Reproduce Adaptations provided that any such Adaptation, including any translation in any medium, takes reasonable steps to clearly label, demarcate or otherwise identify that changes were made to the original Work. For example, a translation could be marked "The original work was translated from English to Spanish," or a modification could indicate "The original work has been modified."; - + . 3. to Distribute and Publicly Perform the Work including as incorporated in Collections; and, 4. to Distribute and Publicly Perform Adaptations. 5. For the avoidance of doubt: @@ -214,15 +232,15 @@ whether individually or, in the event that the Licensor is a member of a collecting society that administers voluntary licensing schemes, via that society, from any exercise by You of the rights granted under this License. - + . The above rights may be exercised in all media and formats whether now known or hereafter devised. The above rights include the right to make such modifications as are technically necessary to exercise the rights in other media and formats. Subject to Section 8(f), all rights not expressly granted by Licensor are hereby reserved. - + . 4. Restrictions. The license granted in Section 3 above is expressly made subject to and limited by the following restrictions: - + . 1. You may Distribute or Publicly Perform the Work only under the terms of this License. You must include a copy of, or the Uniform Resource Identifier (URI) for, this License with every copy of the Work You Distribute or Publicly Perform. You may not offer or @@ -240,7 +258,7 @@ Collection any credit as required by Section 4(c), as requested. If You create an Adaptation, upon notice from any Licensor You must, to the extent practicable, remove from the Adaptation any credit as required by Section 4(c), as requested. - + . 2. You may Distribute or Publicly Perform an Adaptation only under the terms of: (i) this License; (ii) a later version of this License with the same License Elements as this License; @@ -266,7 +284,7 @@ under the terms of the Applicable License. This Section 4(b) applies to the Adaptation as incorporated in a Collection, but this does not require the Collection apart from the Adaptation itself to be made subject to the terms of the Applicable License. - + . 3. If You Distribute, or Publicly Perform the Work or any Adaptations or Collections, You must, unless a request has been made pursuant to Section 4(a), keep intact all copyright notices for the Work and provide, reasonable to the medium or means You are utilizing: @@ -293,7 +311,7 @@ and/or Attribution Parties, as appropriate, of You or Your use of the Work, without the separate, express prior written permission of the Original Author, Licensor and/or Attribution Parties. - + . 4. Except as otherwise agreed in writing by the Licensor or as may be otherwise permitted by applicable law, if You Reproduce, Distribute or Publicly Perform the Work either by itself or as part of any Adaptations or Collections, You must not distort, mutilate, @@ -306,9 +324,9 @@ fullest extent permitted by the applicable national law, to enable You to reasonably exercise Your right under Section 3(b) of this License (right to make Adaptations) but not otherwise. - + . 5. Representations, Warranties and Disclaimer - + . UNLESS OTHERWISE MUTUALLY AGREED TO BY THE PARTIES IN WRITING, LICENSOR OFFERS THE WORK AS-IS AND MAKES NO REPRESENTATIONS OR WARRANTIES OF ANY KIND CONCERNING THE WORK, EXPRESS, IMPLIED, STATUTORY OR OTHERWISE, INCLUDING, WITHOUT LIMITATION, WARRANTIES OF TITLE, @@ -316,20 +334,20 @@ LATENT OR OTHER DEFECTS, ACCURACY, OR THE PRESENCE OF ABSENCE OF ERRORS, WHETHER OR NOT DISCOVERABLE. SOME JURISDICTIONS DO NOT ALLOW THE EXCLUSION OF IMPLIED WARRANTIES, SO SUCH EXCLUSION MAY NOT APPLY TO YOU. - + . 6. Limitation on Liability. EXCEPT TO THE EXTENT REQUIRED BY APPLICABLE LAW, IN NO EVENT WILL LICENSOR BE LIABLE TO YOU ON ANY LEGAL THEORY FOR ANY SPECIAL, INCIDENTAL, CONSEQUENTIAL, PUNITIVE OR EXEMPLARY DAMAGES ARISING OUT OF THIS LICENSE OR THE USE OF THE WORK, EVEN IF LICENSOR HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. - + . 7. Termination - + . 1. This License and the rights granted hereunder will terminate automatically upon any breach by You of the terms of this License. Individuals or entities who have received Adaptations or Collections from You under this License, however, will not have their licenses terminated provided such individuals or entities remain in full compliance with those licenses. Sections 1, 2, 5, 6, 7, and 8 will survive any termination of this License. - + . 2. Subject to the above terms and conditions, the license granted here is perpetual (for the duration of the applicable copyright in the Work). Notwithstanding the above, Licensor reserves the right to release the Work under different license terms or to stop @@ -337,33 +355,33 @@ to withdraw this License (or any other license that has been, or is required to be, granted under the terms of this License), and this License will continue in full force and effect unless terminated as stated above. - + . 8. Miscellaneous - + . 1. Each time You Distribute or Publicly Perform the Work or a Collection, the Licensor offers to the recipient a license to the Work on the same terms and conditions as the license granted to You under this License. - + . 2. Each time You Distribute or Publicly Perform an Adaptation, Licensor offers to the recipient a license to the original Work on the same terms and conditions as the license granted to You under this License. - + . 3. If any provision of this License is invalid or unenforceable under applicable law, it shall not affect the validity or enforceability of the remainder of the terms of this License, and without further action by the parties to this agreement, such provision shall be reformed to the minimum extent necessary to make such provision valid and enforceable. - + . 4. No term or provision of this License shall be deemed waived and no breach consented to unless such waiver or consent shall be in writing and signed by the party to be charged with such waiver or consent. - + . 5. This License constitutes the entire agreement between the parties with respect to the Work licensed here. There are no understandings, agreements or representations with respect to the Work not specified here. Licensor shall not be bound by any additional provisions that may appear in any communication from You. This License may not be modified without the mutual written agreement of the Licensor and You. - + . 6. The rights granted under, and the subject matter referenced, in this License were drafted utilizing the terminology of the Berne Convention for the Protection of Literary and Artistic Works (as amended on September 28, 1979), the Rome Convention of 1961, the @@ -375,9 +393,9 @@ under applicable copyright law includes additional rights not granted under this License, such additional rights are deemed to be included in the License; this License is not intended to restrict the license of any rights under applicable law. - + . Creative Commons Notice - + . Creative Commons is not a party to this License, and makes no warranty whatsoever in connection with the Work. Creative Commons will not be liable to You or any party on any legal theory for any damages whatsoever, including without limitation any general, @@ -385,7 +403,7 @@ Notwithstanding the foregoing two (2) sentences, if Creative Commons has expressly identified itself as the Licensor hereunder, it shall have all rights and obligations of Licensor. - + . Except for the limited purpose of indicating to the public that the Work is licensed under the CCPL, Creative Commons does not authorize the use by either party of the trademark "Creative Commons" or any related trademark or logo of Creative Commons @@ -393,31 +411,3 @@ compliance with Creative Commons' then-current trademark usage guidelines, as may be published on its website or otherwise made available upon request from time to time. For the avoidance of doubt, this trademark restriction does not form part of the License. - - - - * Public Domain - - The person or persons who have associated work with this document (the "Dedicator" or - "Certifier") hereby either (a) certifies that, to the best of his knowledge, the work - of authorship identified is in the public domain of the country from which the work is - published, or (b) hereby dedicates whatever copyright the dedicators holds in the work - of authorship identified below (the "Work") to the public domain. A certifier, moreover, - dedicates any copyright interest he may have in the associated work, and for these purposes, - is described as a "dedicator" below. - - A certifier has taken reasonable steps to verify the copyright status of this work. - Certifier recognizes that his good faith efforts may not shield him from liability if - in fact the work certified is not in the public domain. - - Dedicator makes this dedication for the benefit of the public at large and to the detriment - of the Dedicator's heirs and successors. Dedicator intends this dedication to be an overt act - of relinquishment in perpetuity of all present and future rights under copyright law, whether - vested or contingent, in the Work. Dedicator understands that such relinquishment of all - rights includes the relinquishment of all rights to enforce (by lawsuit or otherwise) those - copyrights in the Work. - - Dedicator recognizes that, once placed in the public domain, the Work may be freely - reproduced, distributed, transmitted, used, modified, built upon, or otherwise exploited - by anyone for any purpose, commercial or non-commercial, and in any way, including by methods - that have not yet been invented or conceived. diff -Nru screenlets-0.1.4/debian/rules screenlets-0.1.6/debian/rules --- screenlets-0.1.4/debian/rules 2011-07-02 09:12:57.000000000 +0000 +++ screenlets-0.1.6/debian/rules 2012-02-12 21:50:59.000000000 +0000 @@ -6,7 +6,6 @@ override_dh_auto_install: dh_auto_install --buildsystem=python_distutils - chmod 644 debian/tmp/usr/share/screenlets-manager/webapp.png override_dh_clean: rm -fR build/locale diff -Nru screenlets-0.1.4/docs/epydoc/api-objects.txt screenlets-0.1.6/docs/epydoc/api-objects.txt --- screenlets-0.1.4/docs/epydoc/api-objects.txt 2011-06-25 10:41:10.000000000 +0000 +++ screenlets-0.1.6/docs/epydoc/api-objects.txt 2012-01-04 14:58:29.000000000 +0000 @@ -1,9 +1,12 @@ screenlets screenlets-module.html -screenlets.TMP_DIR screenlets-module.html#TMP_DIR +screenlets.CONFIG_FILE screenlets-module.html#CONFIG_FILE +screenlets.OLD_CONFIG_FILE screenlets-module.html#OLD_CONFIG_FILE screenlets.DIR_USER screenlets-module.html#DIR_USER +screenlets.TMP_DIR screenlets-module.html#TMP_DIR screenlets.__package__ screenlets-module.html#__package__ screenlets.show_question screenlets-module.html#show_question screenlets.DAEMON_IFACE screenlets-module.html#DAEMON_IFACE +screenlets.show_error screenlets-module.html#show_error screenlets.VERSION screenlets-module.html#VERSION screenlets.create_option_from_node screenlets.options.base-module.html#create_option_from_node screenlets.THIRD_PARTY_DOWNLOAD screenlets-module.html#THIRD_PARTY_DOWNLOAD @@ -37,7 +40,7 @@ screenlets.APP_NAME screenlets-module.html#APP_NAME screenlets.SERVER_NAME screenlets-module.html#SERVER_NAME screenlets.add_menuitem screenlets.menu-module.html#add_menuitem -screenlets.show_error screenlets-module.html#show_error +screenlets.OLD_DIR_CONFIG screenlets-module.html#OLD_DIR_CONFIG screenlets.COMMAND_LINE_ARGS screenlets-module.html#COMMAND_LINE_ARGS screenlets.DAEMON_PATH screenlets-module.html#DAEMON_PATH screenlets.LOG_NAME screenlets-module.html#LOG_NAME @@ -296,6 +299,7 @@ screenlets.utils screenlets.utils-module.html screenlets.utils.refresh_available_screenlet_paths screenlets.utils-module.html#refresh_available_screenlet_paths screenlets.utils.LoadBookmarks screenlets.utils-module.html#LoadBookmarks +screenlets.utils.get_more_screenlets_ubuntu screenlets.utils-module.html#get_more_screenlets_ubuntu screenlets.utils.DIR_USER screenlets.utils-module.html#DIR_USER screenlets.utils.USER screenlets.utils-module.html#USER screenlets.utils.get_translator screenlets.utils-module.html#get_translator @@ -304,22 +308,22 @@ screenlets.utils.lookup_daemon_autostart screenlets.utils-module.html#lookup_daemon_autostart screenlets.utils.find_first_screenlet_path screenlets.utils-module.html#find_first_screenlet_path screenlets.utils.get_daemon_iface screenlets.utils-module.html#get_daemon_iface -screenlets.utils.get_screenlet_icon screenlets.utils-module.html#get_screenlet_icon screenlets.utils.get_desktop_dir screenlets.utils-module.html#get_desktop_dir -screenlets.utils.get_user_dir screenlets.utils-module.html#get_user_dir screenlets.utils.get_screenlet_metadata_by_path screenlets.utils-module.html#get_screenlet_metadata_by_path screenlets.utils.list_running_screenlets screenlets.utils-module.html#list_running_screenlets screenlets.utils.launch_screenlet screenlets.utils-module.html#launch_screenlet screenlets.utils.__package__ screenlets.utils-module.html#__package__ +screenlets.utils.get_screenlet_icon screenlets.utils-module.html#get_screenlet_icon +screenlets.utils.restart_all_screenlets screenlets.utils-module.html#restart_all_screenlets screenlets.utils._ screenlets.utils-module.html#_ screenlets.utils.get_screenlet_metadata screenlets.utils-module.html#get_screenlet_metadata screenlets.utils.create_user_dir screenlets.utils-module.html#create_user_dir screenlets.utils.is_manager_running_me screenlets.utils-module.html#is_manager_running_me screenlets.utils.html_to_pango screenlets.utils-module.html#html_to_pango -screenlets.utils.restart_all_screenlets screenlets.utils-module.html#restart_all_screenlets screenlets.utils.DIR_AUTOSTART screenlets.utils-module.html#DIR_AUTOSTART screenlets.utils.list_running_screenlets2 screenlets.utils-module.html#list_running_screenlets2 screenlets.utils.get_filename_on_drop screenlets.utils-module.html#get_filename_on_drop +screenlets.utils.get_user_dir screenlets.utils-module.html#get_user_dir screenlets.utils.read_file screenlets.utils-module.html#read_file screenlets.utils._contains_path screenlets.utils-module.html#_contains_path screenlets.utils.create_autostarter screenlets.utils-module.html#create_autostarter @@ -1618,9 +1622,9 @@ screenlets.sensors.NetSensor screenlets.sensors.NetSensor-class.html screenlets.sensors.NetSensor.get_download_speed screenlets.sensors.NetSensor-class.html#get_download_speed screenlets.sensors.NetSensor.get_uploaded screenlets.sensors.NetSensor-class.html#get_uploaded +screenlets.sensors.NetSensor.__init__ screenlets.sensors.NetSensor-class.html#__init__ screenlets.sensors.NetSensor.on_update screenlets.sensors.NetSensor-class.html#on_update screenlets.sensors.Sensor.__gsignals__ screenlets.sensors.Sensor-class.html#__gsignals__ -screenlets.sensors.NetSensor.__init__ screenlets.sensors.NetSensor-class.html#__init__ screenlets.sensors.Sensor.__gtype__ screenlets.sensors.Sensor-class.html#__gtype__ screenlets.sensors.NetSensor.get_upload_speed screenlets.sensors.NetSensor-class.html#get_upload_speed screenlets.sensors.Sensor.stop screenlets.sensors.Sensor-class.html#stop diff -Nru screenlets-0.1.4/docs/epydoc/class-tree.html screenlets-0.1.6/docs/epydoc/class-tree.html --- screenlets-0.1.4/docs/epydoc/class-tree.html 2011-06-25 10:41:10.000000000 +0000 +++ screenlets-0.1.6/docs/epydoc/class-tree.html 2012-01-04 14:58:22.000000000 +0000 @@ -34,7 +34,7 @@ + >Screenlets 0.1.6
Screenlets 0.1.4
@@ -113,10 +113,10 @@
  • screenlets.plugins.iCal.DateSet
  • -
  • screenlets.menu.DefaultMenuItem: +
  • screenlets.DefaultMenuItem: A container with constants for the default menuitems
  • -
  • screenlets.DefaultMenuItem: +
  • screenlets.menu.DefaultMenuItem: A container with constants for the default menuitems
  • screenlets.drawing.Drawing: @@ -647,14 +647,14 @@ + >Screenlets 0.1.6
    Screenlets 0.1.4
    @@ -99,7 +99,7 @@ name, bases, dct)
    - x.__init__(...) initializes x; see x.__class__.__doc__ for signature + x.__init__(...) initializes x; see help(type(x)) for signature @@ -153,12 +153,14 @@ __getattribute__, __gt__, __hash__, + __instancecheck__, __le__, __lt__, __ne__, __new__, __repr__, __setattr__, + __subclasscheck__, __subclasses__, mro

    @@ -199,11 +201,9 @@ __basicsize__, __dictoffset__, __flags__, - __instancecheck__, __itemsize__, __mro__, __name__, - __subclasscheck__, __weakrefoffset__

    Inherited from object: @@ -248,8 +248,7 @@ -

    x.__init__(...) initializes x; see x.__class__.__doc__ for - signature

    +

    x.__init__(...) initializes x; see help(type(x)) for signature

    Returns: the object's type
    Overrides: @@ -284,14 +283,14 @@ + >Screenlets 0.1.6
    Screenlets 0.1.4
    @@ -91,14 +91,14 @@ + >Screenlets 0.1.6
    Screenlets 0.1.4
    + >Screenlets 0.1.6
    Screenlets 0.1.4
    @@ -58,7 +58,7 @@

    API Documentation

    This document contains the API (Application Programming Interface) -documentation for Screenlets 0.1.4. Documentation for the Python +documentation for Screenlets 0.1.6. Documentation for the Python objects defined by the project is divided into separate pages for each package, module, and class. The API documentation also includes two pages containing information about the project as a whole: a trees @@ -249,14 +249,14 @@ + >Screenlets 0.1.6
    Screenlets 0.1.4
    @@ -280,23 +280,23 @@ (in screenlets.backend) check_entry()
    (in ScreenletTheme) -connect_daemon()
    -(in ScreenletSession) +connect()
    +(in screenlets.plugins.mpdclient2) cal_get_ampm()
    (in screenlets.sensors) check_for_icon()
    (in Drawing) -containsAll()
    -(in screenlets.utils) +connect_daemon()
    +(in ScreenletSession) cal_get_date()
    (in screenlets.sensors) check_mail()
    (in IMAPBackend) -containsAny()
    +containsAll()
    (in screenlets.utils) @@ -304,103 +304,103 @@ (in screenlets.sensors) check_mail()
    (in MailCheckBackend) -Convert
    -(in screenlets.plugins) +containsAny()
    +(in screenlets.utils) cal_get_day_monday()
    (in screenlets.sensors) check_mail()
    (in POP3Backend) -convert()
    -(in BaseConverter) +Convert
    +(in screenlets.plugins) cal_get_day_name()
    (in screenlets.sensors) check_requirements()
    (in Screenlet) -convert()
    -(in Converter) +convert()
    +(in BaseConverter) cal_get_day_sonday()
    (in screenlets.sensors) choices
    (in StringOption) -convert()
    -(in RatioConverter) +convert()
    +(in Converter) cal_get_hour()
    (in screenlets.sensors) clear()
    (in response_fetcher) -convert()
    -(in TemperatureConverter) +convert()
    +(in RatioConverter) cal_get_hour12()
    (in screenlets.sensors) clear_cairo_context()
    (in Screenlet) -convert()
    -(in response_fetcher) +convert()
    +(in TemperatureConverter) cal_get_hour24()
    (in screenlets.sensors) close()
    (in Screenlet) -convert_ns()
    -(in gstreamer) +convert()
    +(in response_fetcher) cal_get_local_date()
    (in screenlets.sensors) close()
    (in Mplayer) -Converter
    -(in screenlets.plugins.Convert) +convert_ns()
    +(in gstreamer) cal_get_local_time()
    (in screenlets.sensors) close()
    (in FileMonitor) -COPYRIGHT
    -(in screenlets) +Converter
    +(in screenlets.plugins.Convert) cal_get_minute()
    (in screenlets.sensors) close_record()
    (in Mplayer) -CoverSearch
    -(in screenlets.plugins) +COPYRIGHT
    +(in screenlets) cal_get_month()
    (in screenlets.sensors) cmd()
    (in Mplayer) -CoverSearch
    -(in screenlets.plugins.CoverSearch) +CoverSearch
    +(in screenlets.plugins) cal_get_month_name()
    (in screenlets.sensors) ColorOption
    (in screenlets.options.colour_option) -cpu_get_cpu_list()
    -(in screenlets.sensors) +CoverSearch
    +(in screenlets.plugins.CoverSearch) cal_get_now()
    (in screenlets.sensors) ColorsOption
    (in screenlets.options.colour_option) -cpu_get_cpu_name()
    +cpu_get_cpu_list()
    (in screenlets.sensors) @@ -408,7 +408,7 @@ (in screenlets.sensors) colour_option
    (in screenlets.options) -cpu_get_current_freq()
    +cpu_get_cpu_name()
    (in screenlets.sensors) @@ -416,7 +416,7 @@ (in screenlets.sensors) COMMAND_LINE_ARGS
    (in screenlets) -cpu_get_current_gov()
    +cpu_get_current_freq()
    (in screenlets.sensors) @@ -424,7 +424,7 @@ (in screenlets.sensors) COMMAND_LINE_OPTIONS
    (in screenlets) -cpu_get_load()
    +cpu_get_current_gov()
    (in screenlets.sensors) @@ -432,7 +432,7 @@ (in screenlets.sensors) command_sender
    (in screenlets.plugins.mpdclient2) -cpu_get_nb_cpu()
    +cpu_get_load()
    (in screenlets.sensors) @@ -440,7 +440,7 @@ (in screenlets.sensors) commands
    (in screenlets.plugins.mpdclient2) -CPUSensor
    +cpu_get_nb_cpu()
    (in screenlets.sensors) @@ -448,133 +448,134 @@ (in CoverSearch) COMMENTS
    (in screenlets) -create_about_page()
    -(in OptionsDialog) +CPUSensor
    +(in screenlets.sensors) callback_fn
    (in QuodlibetAPI) composite_changed()
    (in Screenlet) -create_autostarter()
    -(in screenlets.utils) +create_about_page()
    +(in OptionsDialog) callback_fn
    (in RhythmboxAPI) +CONFIG_FILE
    +(in screenlets) +create_autostarter()
    +(in screenlets.utils) + + +callback_fn
    +(in SongbirdAPI) configure_event()
    (in Screenlet) create_buttons()
    (in Screenlet) -callback_fn
    -(in SongbirdAPI) +callback_value_changed()
    +(in EditableOptions) connect()
    (in AmarokAPI) create_drag_icon()
    (in Screenlet) -callback_value_changed()
    -(in EditableOptions) +callbackFn
    +(in AmarokAPI) connect()
    (in AudaciousAPI) create_instance()
    (in ScreenletSession) -callbackFn
    -(in AmarokAPI) +callbackFn
    +(in AudaciousAPI) connect()
    (in BansheeAPI) create_menu_from_file()
    (in screenlets.menu) -callbackFn
    -(in AudaciousAPI) +callbackFn
    +(in BansheeAPI) connect()
    (in ExaileAPI) create_menu_from_xml()
    (in screenlets.menu) -callbackFn
    -(in BansheeAPI) +callbackFn
    +(in ExaileAPI) connect()
    (in GenericAPI) create_new_instance()
    (in screenlets) -callbackFn
    -(in ExaileAPI) +callbackFn
    +(in JukAPI) connect()
    (in JukAPI) create_option_from_node()
    (in screenlets.options.base) -callbackFn
    -(in JukAPI) +callbackFn
    +(in KaffeineAPI) connect()
    (in KaffeineAPI) create_options_page()
    (in OptionsDialog) -callbackFn
    -(in KaffeineAPI) +callbackFn
    +(in LastFMProxyAPI) connect()
    (in LastFMProxyAPI) create_preview()
    (in ImageOption) -callbackFn
    -(in LastFMProxyAPI) +callbackFn
    +(in ListenAPI) connect()
    (in ListenAPI) create_session()
    (in screenlets.session) -callbackFn
    -(in ListenAPI) +callbackFn
    +(in SonataAPI) connect()
    (in QuodlibetAPI) create_themes_page()
    (in OptionsDialog) -callbackFn
    -(in SonataAPI) +cancel_show()
    +(in Notify) connect()
    (in RhythmboxAPI) create_ui()
    (in ListOptionDialog) -cancel_show()
    -(in Notify) +cancel_show()
    +(in Tooltip) connect()
    (in SonataAPI) create_user_dir()
    (in screenlets.utils) -cancel_show()
    -(in Tooltip) -connect()
    -(in SongbirdAPI) -  - - cb()
    (in CoverSearch) -connect()
    -(in screenlets.plugins.mpdclient2) +connect()
    +(in SongbirdAPI)   @@ -942,7 +943,7 @@ (in GconfBackend) get_colour_from_box()
    (in ColorOption) -get_screenlet_process()
    +get_screenlet_metadata_by_path()
    (in screenlets.utils) @@ -950,39 +951,39 @@ (in screenlets.backend) get_command()
    (in screenlets.plugins.mpdclient2) -get_service_by_name()
    -(in screenlets.services) +get_screenlet_process()
    +(in screenlets.utils) generate_file_opener()
    (in FileOption) get_cover_path()
    (in AmarokAPI) -get_short_name()
    -(in Screenlet) +get_service_by_name()
    +(in screenlets.services) generate_widget()
    (in AccountOption) get_cover_path()
    (in AudaciousAPI) -get_text_extents()
    -(in ScreenletTheme) +get_short_name()
    +(in Screenlet) generate_widget()
    (in Option) get_cover_path()
    (in BansheeAPI) -get_text_height()
    -(in Drawing) +get_text_extents()
    +(in ScreenletTheme) generate_widget()
    (in OptionsDialog) get_cover_path()
    (in ExaileAPI) -get_text_line()
    +get_text_height()
    (in Drawing) @@ -990,7 +991,7 @@ (in BoolOption) get_cover_path()
    (in GenericAPI) -get_text_line_count()
    +get_text_line()
    (in Drawing) @@ -998,151 +999,151 @@ (in ColorOption) get_cover_path()
    (in JukAPI) -get_text_width()
    -(in ScreenletTheme) +get_text_line_count()
    +(in Drawing) generate_widget()
    (in ColorsOption) get_cover_path()
    (in KaffeineAPI) -get_text_width()
    -(in Drawing) +get_text_width()
    +(in ScreenletTheme) generate_widget()
    (in FileOption) get_cover_path()
    (in LastFMProxyAPI) -get_theme_dir()
    -(in Screenlet) +get_text_width()
    +(in Drawing) generate_widget()
    (in ImageOption) get_cover_path()
    (in ListenAPI) -get_title()
    -(in AmarokAPI) +get_theme_dir()
    +(in Screenlet) generate_widget()
    (in FontOption) get_cover_path()
    (in QuodlibetAPI) -get_title()
    -(in AudaciousAPI) +get_title()
    +(in AmarokAPI) generate_widget()
    (in ListOption) get_cover_path()
    (in RhythmboxAPI) -get_title()
    -(in BansheeAPI) +get_title()
    +(in AudaciousAPI) generate_widget()
    (in FloatOption) get_cover_path()
    (in SonataAPI) -get_title()
    -(in ExaileAPI) +get_title()
    +(in BansheeAPI) generate_widget()
    (in IntOption) get_cover_path()
    (in SongbirdAPI) -get_title()
    -(in GenericAPI) +get_title()
    +(in ExaileAPI) generate_widget()
    (in StringOption) get_daemon_iface()
    (in screenlets.utils) -get_title()
    -(in JukAPI) +get_title()
    +(in GenericAPI) generate_widget()
    (in TimeOption) get_data()
    (in MLStripper) -get_title()
    -(in KaffeineAPI) +get_title()
    +(in JukAPI) GenericAPI
    (in screenlets.plugins.GenericPlayer) get_default_logger()
    (in screenlets.logger) -get_title()
    -(in LastFMProxyAPI) +get_title()
    +(in KaffeineAPI) GenericPlayer
    (in screenlets.plugins) get_desktop_dir()
    (in screenlets.utils) -get_title()
    -(in ListenAPI) +get_title()
    +(in LastFMProxyAPI) get()
    (in Key) get_download_speed()
    (in NetSensor) -get_title()
    -(in QuodlibetAPI) +get_title()
    +(in ListenAPI) get()
    (in ScreenletService) get_downloaded()
    (in NetSensor) -get_title()
    -(in RhythmboxAPI) +get_title()
    +(in QuodlibetAPI) get_album()
    (in AmarokAPI) get_evolution_contacts()
    (in screenlets.plugins.Evolution) -get_title()
    -(in SonataAPI) +get_title()
    +(in RhythmboxAPI) get_album()
    (in AudaciousAPI) get_filename_on_drop()
    (in screenlets.utils) -get_title()
    -(in SongbirdAPI) +get_title()
    +(in SonataAPI) get_album()
    (in BansheeAPI) get_first_instance()
    (in ScreenletService) -get_translator()
    -(in screenlets.utils) +get_title()
    +(in SongbirdAPI) get_album()
    (in ExaileAPI) get_freemem()
    (in MemorySensor) -get_upload_speed()
    -(in NetSensor) +get_translator()
    +(in screenlets.utils) get_album()
    (in GenericAPI) get_GMail_Num()
    (in screenlets.plugins.Mail) -get_uploaded()
    +get_upload_speed()
    (in NetSensor) @@ -1150,87 +1151,87 @@ (in JukAPI) get_host()
    (in Proxy) -get_url()
    -(in GnomeVFSAsyncSrc) +get_uploaded()
    +(in NetSensor) get_album()
    (in KaffeineAPI) get_image_list()
    (in Flickr) -get_url()
    -(in URLLibSrc) +get_url()
    +(in GnomeVFSAsyncSrc) get_album()
    (in LastFMProxyAPI) get_image_size()
    (in ScreenletTheme) -get_usedmem()
    -(in MemorySensor) +get_url()
    +(in URLLibSrc) get_album()
    (in ListenAPI) get_image_size()
    (in Drawing) -get_user_dir()
    -(in screenlets.utils) +get_usedmem()
    +(in MemorySensor) get_album()
    (in QuodlibetAPI) get_info_from_package_name()
    (in ScreenletInstaller) -get_wireless_stats()
    -(in screenlets.sensors) +get_user_dir()
    +(in screenlets.utils) get_album()
    (in RhythmboxAPI) get_instance_by_id()
    (in ScreenletSession) -getAttrs()
    -(in Key) +get_wireless_stats()
    +(in screenlets.sensors) get_album()
    (in SonataAPI) get_interval()
    (in Sensor) -getBetween()
    -(in LastFMProxyAPI) +getAttrs()
    +(in Key) get_album()
    (in SongbirdAPI) get_is_active()
    (in Proxy) -getBetween()
    -(in screenlets.utils) +getBetween()
    +(in LastFMProxyAPI) get_artist()
    (in AmarokAPI) get_KMail_num()
    (in screenlets.plugins.Mail) -getdump()
    -(in LastFMProxyAPI) +getBetween()
    +(in screenlets.utils) get_artist()
    (in AudaciousAPI) get_line()
    (in socket_talker) -getGpuClock()
    -(in screenlets.sensors) +getdump()
    +(in LastFMProxyAPI) get_artist()
    (in BansheeAPI) get_list()
    (in ListOptionDialog) -getGpuDriver()
    +getGpuClock()
    (in screenlets.sensors) @@ -1238,7 +1239,7 @@ (in ExaileAPI) get_load()
    (in CPUSensor) -getGpuMemClock()
    +getGpuDriver()
    (in screenlets.sensors) @@ -1246,7 +1247,7 @@ (in GenericAPI) get_Mail_Num()
    (in screenlets.plugins.Mail) -getGpuRam()
    +getGpuMemClock()
    (in screenlets.sensors) @@ -1254,75 +1255,83 @@ (in JukAPI) get_menu_for_category()
    (in ApplicationMenu) -getGpuRefreshRate()
    +getGpuRam()
    (in screenlets.sensors) get_artist()
    (in KaffeineAPI) +get_more_screenlets_ubuntu()
    +(in screenlets.utils) +getGpuRefreshRate()
    +(in screenlets.sensors) + + +get_artist()
    +(in LastFMProxyAPI) get_option()
    (in IniReader) getGpuResolution()
    (in screenlets.sensors) -get_artist()
    -(in LastFMProxyAPI) +get_artist()
    +(in ListenAPI) get_option_by_name()
    (in EditableOptions) getGpuTemp()
    (in screenlets.sensors) -get_artist()
    -(in ListenAPI) +get_artist()
    +(in QuodlibetAPI) get_pair()
    (in socket_talker) getGpuType()
    (in screenlets.sensors) -get_artist()
    -(in QuodlibetAPI) +get_artist()
    +(in RhythmboxAPI) get_port()
    (in Proxy) getName()
    (in Key) -get_artist()
    -(in RhythmboxAPI) +get_artist()
    +(in SonataAPI) get_proxy()
    (in Proxy) getPass()
    (in Key) -get_artist()
    -(in SonataAPI) +get_artist()
    +(in SongbirdAPI) get_result_message()
    (in ScreenletInstaller) getProperty()
    (in RhythmboxAPI) -get_artist()
    -(in SongbirdAPI) +get_autostart_dir()
    +(in screenlets.utils) get_screenlet_dir()
    (in Screenlet) GnomeVFSAsyncSrc
    (in screenlets.plugins.Loader) -get_autostart_dir()
    -(in screenlets.utils) +get_available_freq()
    +(in screenlets.sensors) get_screenlet_icon()
    (in screenlets.utils) GOT_MAIL
    (in MailCheckStatus) -get_available_freq()
    +get_available_gov()
    (in screenlets.sensors) get_screenlet_linux_name_by_class_name()
    (in screenlets.utils) @@ -1330,36 +1339,29 @@ (in Notify) -get_available_gov()
    -(in screenlets.sensors) +get_available_themes()
    +(in Screenlet) get_screenlet_linux_name_by_class_path()
    (in screenlets.utils) Gstreamer
    (in screenlets.plugins) -get_available_themes()
    -(in Screenlet) +get_best_match_urls()
    +(in AmazonCoverArtSearch) get_screenlet_linux_name_by_short_class_name()
    (in screenlets.utils) gstreamer
    (in screenlets.plugins.Gstreamer) -get_best_match_urls()
    -(in AmazonCoverArtSearch) +get_box_from_colour()
    +(in ColorOption) get_screenlet_metadata()
    (in screenlets.utils) gtk_icon_theme
    (in Screenlet) - -get_box_from_colour()
    -(in ColorOption) -get_screenlet_metadata_by_path()
    -(in screenlets.utils) -  -

    H

    @@ -2098,203 +2100,210 @@ occursOn()
    (in ICalEvent) -on_import()
    -(in Option) +on_import()
    +(in AccountOption) on_scroll_down()
    (in Screenlet) -on_after_set_atribute()
    +OLD_CONFIG_FILE
    +(in screenlets) +on_import()
    +(in Option) +on_scroll_up()
    (in Screenlet) + + +OLD_DIR_CONFIG
    +(in screenlets) on_import()
    (in BoolOption) -on_scroll_up()
    -(in Screenlet) +on_search_completed()
    +(in AmazonCoverArtSearch) -on_before_set_atribute()
    +on_after_set_atribute()
    (in Screenlet) on_import()
    (in ColorOption) -on_search_completed()
    +on_search_response()
    (in AmazonCoverArtSearch) -on_composite_changed()
    +on_before_set_atribute()
    (in Screenlet) on_import()
    (in ColorsOption) -on_search_response()
    +on_search_results()
    (in AmazonCoverArtSearch) -on_create_drag_icon()
    +on_composite_changed()
    (in Screenlet) on_import()
    (in FileOption) -on_search_results()
    -(in AmazonCoverArtSearch) +on_show()
    +(in Screenlet) -on_delete()
    +on_create_drag_icon()
    (in Screenlet) on_import()
    (in FontOption) -on_show()
    +on_switch_widget_state()
    (in Screenlet) -on_drag_begin()
    +on_delete()
    (in Screenlet) on_import()
    (in ListOption) -on_switch_widget_state()
    +on_unfocus()
    (in Screenlet) -on_drag_enter()
    +on_drag_begin()
    (in Screenlet) on_import()
    (in FloatOption) -on_unfocus()
    +on_unmap()
    (in Screenlet) -on_drag_leave()
    +on_drag_enter()
    (in Screenlet) on_import()
    (in IntOption) -on_unmap()
    -(in Screenlet) - - -on_draw()
    -(in Screenlet) -on_import()
    -(in StringOption) on_update()
    (in CPUSensor) -on_draw_shape()
    -(in Screenlet) -on_init()
    +on_drag_leave()
    (in Screenlet) +on_import()
    +(in StringOption) on_update()
    (in MemorySensor) -on_drop()
    +on_draw()
    (in Screenlet) -on_key_down()
    +on_init()
    (in Screenlet) on_update()
    (in NetSensor) -on_export()
    -(in AccountOption) -on_key_press()
    -(in Converter) +on_draw_shape()
    +(in Screenlet) +on_key_down()
    +(in Screenlet) on_update()
    (in Sensor) -on_export()
    -(in Option) -on_load_theme()
    +on_drop()
    (in Screenlet) +on_key_press()
    +(in Converter) on_update_shape()
    (in Screenlet) -on_export()
    -(in BoolOption) -on_map()
    +on_export()
    +(in AccountOption) +on_load_theme()
    (in Screenlet) ONE
    (in screenlets.plugins.mpdclient2) -on_export()
    -(in ColorOption) -on_menuitem_select()
    +on_export()
    +(in Option) +on_map()
    (in Screenlet) one_object()
    (in response_fetcher) -on_export()
    -(in ColorsOption) -on_message()
    -(in gstreamer) +on_export()
    +(in BoolOption) +on_menuitem_select()
    +(in Screenlet) opacity
    (in Screenlet) -on_export()
    -(in FileOption) -on_mouse_down()
    -(in Screenlet) +on_export()
    +(in ColorOption) +on_message()
    +(in gstreamer) open()
    (in FileMonitor) -on_export()
    -(in FontOption) -on_mouse_enter()
    +on_export()
    +(in ColorsOption) +on_mouse_down()
    (in Screenlet) open_cb()
    (in GnomeVFSAsyncSrc) -on_export()
    -(in ListOption) -on_mouse_leave()
    +on_export()
    +(in FileOption) +on_mouse_enter()
    (in Screenlet) open_listeditor()
    (in ListOption) -on_export()
    -(in IntOption) -on_mouse_move()
    +on_export()
    +(in FontOption) +on_mouse_leave()
    (in Screenlet) OPT_ATTRS
    (in screenlets.options.base) -on_export()
    -(in StringOption) -on_mouse_up()
    +on_export()
    +(in ListOption) +on_mouse_move()
    (in Screenlet) Option
    (in screenlets.options.base) -on_focus()
    -(in Screenlet) -on_quit()
    +on_export()
    +(in IntOption) +on_mouse_up()
    (in Screenlet) option_overrides
    (in ScreenletTheme) -on_hide()
    -(in Screenlet) -on_realize()
    +on_export()
    +(in StringOption) +on_quit()
    (in Screenlet) options
    (in screenlets) -on_import()
    -(in AccountOption) -on_scale()
    +on_focus()
    +(in Screenlet) +on_realize()
    (in Screenlet) OptionsDialog
    (in screenlets.options.base) + +on_hide()
    +(in Screenlet) +on_scale()
    +(in Screenlet) +  +

    P

    @@ -4058,14 +4067,14 @@ + >Screenlets 0.1.6
    Screenlets 0.1.4
    + >Screenlets 0.1.6
    Screenlets 0.1.4
    @@ -148,14 +148,14 @@ + >Screenlets 0.1.6
    Screenlets 0.1.4
    @@ -102,7 +102,7 @@ __init__(self, path)
    - x.__init__(...) initializes x; see x.__class__.__doc__ for signature + x.__init__(...) initializes x; see help(type(x)) for signature source code @@ -391,8 +391,7 @@ -

    x.__init__(...) initializes x; see x.__class__.__doc__ for - signature

    +

    x.__init__(...) initializes x; see help(type(x)) for signature

    Overrides: object.__init__ @@ -544,14 +543,14 @@ + >Screenlets 0.1.6
    Screenlets 0.1.4
    @@ -97,7 +97,7 @@ + x.__init__(...) initializes x; see help(type(x)) for signature
    __init__(self)
    - x.__init__(...) initializes x; see x.__class__.__doc__ for signature
    source code @@ -302,8 +302,7 @@
    -

    x.__init__(...) initializes x; see x.__class__.__doc__ for - signature

    +

    x.__init__(...) initializes x; see help(type(x)) for signature

    Overrides: object.__init__ @@ -455,14 +454,14 @@ + >Screenlets 0.1.6
    Screenlets 0.1.4
    @@ -188,14 +188,14 @@ + >Screenlets 0.1.6
    Screenlets 0.1.4
    @@ -61,79 +61,85 @@

    Source Code for Module screenlets.backend

    -  1  # This application is released under the GNU General Public License  
    -  2  # v3 (or, at your option, any later version). You can find the full  
    -  3  # text of the license under http://www.gnu.org/licenses/gpl.txt.  
    -  4  # By using, editing and/or distributing this software you agree to  
    -  5  # the terms and conditions of this license.  
    -  6  # Thank you for using free software! 
    -  7  # 
    -  8  # screenlets.backend (c) RYX (aka Rico Pfaus) 2007 <ryx@ryxperience.com> 
    -  9  # 
    - 10  # INFO: 
    - 11  # - The backend offers an abstracted way of saving a Screenlet's data 
    - 12  # 
    - 13  # TODO:  
    - 14  # - add "type"-argument to save_option and read_option to be able to correctly 
    - 15  #   set the values in GconfBackend (instead of storing only strings). 
    - 16  # 
    - 17   
    - 18  import glob 
    - 19  import os 
    - 20  import gtk 
    - 21  import gobject 
    - 22  import gettext 
    - 23  import screenlets 
    - 24   
    - 25  gettext.textdomain('screenlets') 
    - 26  gettext.bindtextdomain('screenlets', screenlets.INSTALL_PREFIX +  '/share/locale') 
    - 27   
    -
    28 -def _(s): -
    29 return gettext.gettext(s) -
    30 - 31 - 32 try: - 33 import gconf - 34 except: - 35 print "GConf python module not found. GConf settings backend is disabled." - 36 + 1 # This program is free software: you can redistribute it and/or modify + 2 # it under the terms of the GNU General Public License as published by + 3 # the Free Software Foundation, either version 3 of the License, or + 4 # (at your option) any later version. + 5 # + 6 # This program is distributed in the hope that it will be useful, + 7 # but WITHOUT ANY WARRANTY; without even the implied warranty of + 8 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + 9 # GNU General Public License for more details. + 10 # + 11 # You should have received a copy of the GNU General Public License + 12 # along with this program. If not, see <http://www.gnu.org/licenses/>. + 13 # + 14 # screenlets.backend (c) RYX (aka Rico Pfaus) 2007 <ryx@ryxperience.com> + 15 # + 16 # INFO: + 17 # - The backend offers an abstracted way of saving a Screenlet's data + 18 # + 19 # TODO: + 20 # - add "type"-argument to save_option and read_option to be able to correctly + 21 # set the values in GconfBackend (instead of storing only strings). + 22 # + 23 + 24 import glob + 25 import os + 26 import gtk + 27 import gobject + 28 import gettext + 29 import screenlets + 30 + 31 gettext.textdomain('screenlets') + 32 gettext.bindtextdomain('screenlets', screenlets.INSTALL_PREFIX + '/share/locale') + 33 +
    34 -def _(s): +
    35 return gettext.gettext(s) +
    36 37 -
    38 -class ScreenletsBackend(object): -
    39 """The backend performs the loading/saving of the 'key=value'-strings. - 40 Extend this superclass to implement different saving-backends.""" - 41 -
    42 - def __init__ (self): -
    43 pass -
    44 -
    45 - def delete_instance (self, id): -
    46 """Delete an instance's configuration by its id.""" - 47 pass -
    48 -
    49 - def flush (self): -
    50 """Immediately store all values to disk (in case the backend doesn't - 51 save in realtime anyway.""" - 52 pass -
    53 -
    54 - def load_option (self, id, name): -
    55 """Load one option for the instance with the given id.""" - 56 pass -
    57 -
    58 - def load_instance (self, id): -
    59 """Load all options for the instance with the given id.""" - 60 pass -
    61 -
    62 - def save_option (self, id, name, value): -
    63 """Save one option for the instance with the given id.""" - 64 pass -
    65 - 66 -
    67 -class GconfBackend (ScreenletsBackend): -
    68 """Backend for storing settings in the GConf registry""" - 69 - 70 gconf_dir = '/apps/screenlets/' - 71 -
    72 - def __init__ (self): -
    73 ScreenletsBackend. 38 try: + 39 import gconf + 40 except: + 41 print "GConf python module not found. GConf settings backend is disabled." + 42 + 43 +
    44 -class ScreenletsBackend(object): +
    45 """The backend performs the loading/saving of the 'key=value'-strings. + 46 Extend this superclass to implement different saving-backends.""" + 47 +
    48 - def __init__ (self): +
    49 pass +
    50 +
    51 - def delete_instance (self, id): +
    52 """Delete an instance's configuration by its id.""" + 53 pass +
    54 +
    55 - def flush (self): +
    56 """Immediately store all values to disk (in case the backend doesn't + 57 save in realtime anyway.""" + 58 pass +
    59 +
    60 - def load_option (self, id, name): +
    61 """Load one option for the instance with the given id.""" + 62 pass +
    63 +
    64 - def load_instance (self, id): +
    65 """Load all options for the instance with the given id.""" + 66 pass +
    67 +
    68 - def save_option (self, id, name, value): +
    69 """Save one option for the instance with the given id.""" + 70 pass +
    71 + 72 +
    73 -class GconfBackend (ScreenletsBackend): +
    74 """Backend for storing settings in the GConf registry""" + 75 + 76 gconf_dir = '/apps/screenlets/' + 77 +
    78 - def __init__ (self): +
    79 ScreenletsBackend.__init__(self) - 74 print 'GConfBackend: initializing' - 75 self.client = gconf.client_get_default() -
    76 -
    77 - def delete_instance (self, id): -
    78 """Delete an instance's configuration by its id.""" - 79 os.system('gconftool-2 --recursive-unset ' + self.key + id) - 80 return True -
    81 -
    82 - def flush (self): -
    83 """Immediately store all values to disk (in case the backend doesn't - 84 save in realtime anyway.""" - 85 pass #No need, GConf saves in realtime -
    86 -
    87 - def load_option (self, id, name): -
    88 """Load one option for the instance with the given id.""" - 89 return self.client.get_string(self.gconf_dir + id + '/' + name) -
    90 -
    91 - def load_instance (self, id): -
    92 """Load all options for the instance with the given id.""" - 93 keys = [] - 94 vals = [] - 95 for i in self.client.all_entries(self.gconf_dir + id): - 96 keys.append(i.key.split('/')[4]) - 97 vals.append(self.client.get_string(i.key)) - 98 return dict(zip(keys, vals)) - 99 return None -
    100 -
    101 - def save_option (self, id, name, value): -
    102 """Save one option for the instance with the given id.""" -103 self.client.set_string(self.gconf_dir + id + '/' + name, value) -104 print 'Saved option %s%s/%s = %s' % (self.gconf_dir, id, name, value) -
    105 -106 -
    107 -class CachingBackend (ScreenletsBackend): -
    108 """A backend that stores the settings in arrays and saves after a short -109 interval to avoid overhead when multiple values are set within a short time. -110 The data gets saved into $HOME/.config/Screenlets/<Screenletname>/, in a -111 file for each element (named like its id with the extension '.ini').""" -112 -113 # internals -114 __instances = {} # a dict with (id:dict)-entries cntaining the data -115 __delay_time = 3000 # delay to wait before performing save -116 80 print 'GConfBackend: initializing' + 81 self.client = gconf.client_get_default() +
    82 +
    83 - def delete_instance (self, id): +
    84 """Delete an instance's configuration by its id.""" + 85 os.system('gconftool-2 --recursive-unset ' + self.key + id) + 86 return True +
    87 +
    88 - def flush (self): +
    89 """Immediately store all values to disk (in case the backend doesn't + 90 save in realtime anyway.""" + 91 pass #No need, GConf saves in realtime +
    92 +
    93 - def load_option (self, id, name): +
    94 """Load one option for the instance with the given id.""" + 95 return self.client.get_string(self.gconf_dir + id + '/' + name) +
    96 +
    97 - def load_instance (self, id): +
    98 """Load all options for the instance with the given id.""" + 99 keys = [] +100 vals = [] +101 for i in self.client.all_entries(self.gconf_dir + id): +102 keys.append(i.key.split('/')[4]) +103 vals.append(self.client.get_string(i.key)) +104 return dict(zip(keys, vals)) +105 return None +
    106 +
    107 - def save_option (self, id, name, value): +
    108 """Save one option for the instance with the given id.""" +109 self.client.set_string(self.gconf_dir + id + '/' + name, value) +110 print 'Saved option %s%s/%s = %s' % (self.gconf_dir, id, name, value) +
    111 +112 +
    113 -class CachingBackend (ScreenletsBackend): +
    114 """A backend that stores the settings in arrays and saves after a short +115 interval to avoid overhead when multiple values are set within a short time. +116 The data gets saved into $HOME/.config/Screenlets/<Screenletname>/, in a +117 file for each element (named like its id with the extension '.ini').""" +118 +119 # internals +120 __instances = {} # a dict with (id:dict)-entries cntaining the data +121 __delay_time = 3000 # delay to wait before performing save +122 __timeout = None # the id of the timeout-function -117 __queue = [] # list with ids of instances that need saving -118 -119 # attribs -120 123 __queue = [] # list with ids of instances that need saving +124 +125 # attribs +126 path = '' # the path to store the files -121 -122 # Constructor -
    123 - def __init__ (self, path): -
    124 ScreenletsBackend.127 +128 # Constructor +
    129 - def __init__ (self, path): +
    130 ScreenletsBackend.__init__(self) -125 self.131 self.path = path -126 self.__load_cache() -
    127 -
    128 - def delete_instance (self, id): -
    129 """Delete an instance from the list and from the filesystem.""" -130 if self.__instances.has_key(id): -131 del self.__instances[id] -132 try: -133 import os -134 os.remove(self.132 self.__load_cache() +
    133 +
    134 - def delete_instance (self, id): +
    135 """Delete an instance from the list and from the filesystem.""" +136 if self.__instances.has_key(id): +137 del self.__instances[id] +138 try: +139 import os +140 os.remove(self.path + id + '.ini') -135 except Exception,ex: -136 print ex -137 print "Temporary file didn't exist - nothing to remove." -138 return False -139 print "CachingBackend: <#%s> removed!" % id -140 return True -
    141 -
    142 - def flush (self): -
    143 """Immediately save all pending data.""" -144 self.__save_cache() -
    145 -
    146 - def save_option (self, id, name, value): -
    147 """Save option for an instance to cache and start saving-timeout -148 for that element (value must be of type string).""" -149 # create key for option, if not existent yet -150 if self.__instances.has_key(id) == False: -151 self.__instances[id] = {} -152 # set option in array -153 self.__instances[id][name] = str(value) -154 #print "CachingBackend.save_option: "+name+"="+self.__instances[id][name] -155 # if id is not already in queue, add the id to the queue -156 if self.__queue.count(id) == 0: -157 self.__queue.append(id) -158 # reset timeout and start new -159 if self.141 except Exception,ex: +142 print ex +143 print "Temporary file didn't exist - nothing to remove." +144 return False +145 print "CachingBackend: <#%s> removed!" % id +146 return True +
    147 +
    148 - def flush (self): +
    149 """Immediately save all pending data.""" +150 self.__save_cache() +
    151 +
    152 - def save_option (self, id, name, value): +
    153 """Save option for an instance to cache and start saving-timeout +154 for that element (value must be of type string).""" +155 # create key for option, if not existent yet +156 if self.__instances.has_key(id) == False: +157 self.__instances[id] = {} +158 # set option in array +159 self.__instances[id][name] = str(value) +160 #print "CachingBackend.save_option: "+name+"="+self.__instances[id][name] +161 # if id is not already in queue, add the id to the queue +162 if self.__queue.count(id) == 0: +163 self.__queue.append(id) +164 # reset timeout and start new +165 if self.__timeout: -160 gobject.source_remove(self.166 gobject.source_remove(self.__timeout) -161 self.167 self.__timeout = gobject.timeout_add(self.__delay_time, -162 self.__save_cache)#, id) -
    163 -
    164 - def load_option (self, id, name): -
    165 """TODO: Load option from the backend (returned as str).""" -166 return self.__instances[id][name] -
    167 -
    168 - def load_instance (self, id): -
    169 """Load all options for the instance with the given id.""" -170 #print "Load element: "+id -171 if self.__instances.has_key(id): -172 return self.__instances[id] -173 return None -
    174 -
    175 - def __load_cache (self): -
    176 """Load all cached files from path.""" -177 # perform saving -178 print "CachingBackend: Loading instances from cache" -179 # get dir content of self.path -180 dirname = self.168 self.__save_cache)#, id) +
    169 +
    170 - def load_option (self, id, name): +
    171 """TODO: Load option from the backend (returned as str).""" +172 return self.__instances[id][name] +
    173 +
    174 - def load_instance (self, id): +
    175 """Load all options for the instance with the given id.""" +176 #print "Load element: "+id +177 if self.__instances.has_key(id): +178 return self.__instances[id] +179 return None +
    180 +
    181 - def __load_cache (self): +
    182 """Load all cached files from path.""" +183 # perform saving +184 print "CachingBackend: Loading instances from cache" +185 # get dir content of self.path +186 dirname = self.path -181 dirlst = glob.glob(dirname + '*') -182 tdlen = len(dirname) -183 lst = [] -184 for fname in dirlst: -185 dname = fname[tdlen:] -186 if dname.endswith('.ini'): -187 id = dname[:-4] -188 print "CachingBackend: Loading <%s>" % id -189 #print "ID: "+id -190 if self.__instances.has_key(id) == False: -191 self.__instances[id] = {} -192 # open file -193 try: -194 f = open(fname, 'r') -195 lines = f.readlines() -196 # read all options for this element from file -197 for line in lines: -198 #print "LOAD: "+line[:-1] -199 parts = line[:-1].split('=', 1) -200 if len(parts) > 1: -201 # undocumented features to resize screenlet dynamically on first launch -202 # width, height must precede rel_x and rel_y with "_" -203 # by boamaod for Estobuntu -204 if parts[0] == 'x': -205 if parts[1].startswith("*"): # if * is added, take distance from the opposite side -206 parts[1] = parts[1].strip("*") -207 add_width = 0 -208 if parts[1].startswith("_"): # if _ is added, take it to be right corner -209 add_width = int(float(self.__instances[id]["width"])*float(self.__instances[id]["scale"])) -210 print "ADD W", add_width -211 parts[1] = str(gtk.gdk.screen_width() - int(parts[1].strip("_")) - add_width) -212 print ">>>X", parts[1] -213 if parts[0] == 'y': -214 if parts[1].startswith("*"): # if * is added, take distance from the opposite side -215 parts[1] = parts[1].strip("*") -216 add_height = 0 -217 if parts[1].startswith("_"): # if _ is added, take it to be bottom corner -218 add_height = int(float(self.__instances[id]["height"])*float(self.__instances[id]["scale"])) -219 print "ADD H", add_height -220 parts[1] = str(gtk.gdk.screen_height() - int(parts[1].strip("_")) - add_height) -221 print ">>>Y", parts[1] -222 if parts[0] == 'rel_x': -223 parts[0] = 'x' -224 add_width = 0 -225 if parts[1].startswith("_"): # if _ is added, take it to be right corner -226 add_width = int(float(self.__instances[id]["width"])*float(self.__instances[id]["scale"])) -227 print "ADD W", add_width -228 parts[1] = str(int(gtk.gdk.screen_width()*float(parts[1].strip("_"))) - add_width) -229 print ">>>X", parts[1] -230 if parts[0] == 'rel_y': -231 parts[0] = 'y' -232 add_height = 0 -233 if parts[1].startswith("_"): # if _ is added, take it to be bottom corner -234 add_height = int(float(self.__instances[id]["height"])*float(self.__instances[id]["scale"])) -235 print "ADD H", add_height -236 parts[1] = str(int(gtk.gdk.screen_height()*float(parts[1].strip("_"))) - add_height) -237 print ">>>Y", parts[1] -238 if parts[0] == 'rel_scale': -239 parts[0] = 'scale' -240 scale = float(self.__instances[id]["scale"]) -241 initial_scale = scale + float(gtk.gdk.screen_height()*gtk.gdk.screen_width())/float(parts[1]) -242 if initial_scale < 1.5: -243 initial_scale = 1.5 -244 if initial_scale > 3: -245 initial_scale = 3 -246 parts[1] = str(initial_scale) -247 # parts[1] = str(gtk.gdk.screen_height()/float(parts[1])) -248 print ">>>SCALE", parts[1] -249 if parts[0] == 'rel_font_name': -250 parts[0] = 'font_name' -251 print "|||", parts[1] -252 font_parts = parts[1].split(" ") -253 parts[1]="" -254 for fp in font_parts: -255 if len(fp.strip("0123456789.")) == 0: -256 parts[1]+= str( round(float(fp)*float(self.__instances[id]["scale"]), 1) ) + " " -257 else: -258 parts[1]+= fp + " " -259 parts[1] = parts[1].strip(" ") -260 print ">>>FONT_NAME", parts[1] -261 # End of dynamic resize section -262 print "%s='%s'" % (parts[0], parts[1]) -263 self.__instances[id][parts[0]] = parts[1] -264 f.187 dirlst = glob.glob(dirname + '*') +188 tdlen = len(dirname) +189 lst = [] +190 for fname in dirlst: +191 dname = fname[tdlen:] +192 if dname.endswith('.ini'): +193 id = dname[:-4] +194 print "CachingBackend: Loading <%s>" % id +195 #print "ID: "+id +196 if self.__instances.has_key(id) == False: +197 self.__instances[id] = {} +198 # open file +199 try: +200 f = open(fname, 'r') +201 lines = f.readlines() +202 # read all options for this element from file +203 for line in lines: +204 #print "LOAD: "+line[:-1] +205 parts = line[:-1].split('=', 1) +206 if len(parts) > 1: +207 # undocumented features to resize screenlet dynamically on first launch +208 # width, height must precede rel_x and rel_y with "_" +209 # by boamaod for Estobuntu +210 if parts[0] == 'x': +211 if parts[1].startswith("*"): # if * is added, take distance from the opposite side +212 parts[1] = parts[1].strip("*") +213 add_width = 0 +214 if parts[1].startswith("_"): # if _ is added, take it to be right corner +215 add_width = int(float(self.__instances[id]["width"])*float(self.__instances[id]["scale"])) +216 print "ADD W", add_width +217 parts[1] = str(gtk.gdk.screen_width() - int(parts[1].strip("_")) - add_width) +218 print ">>>X", parts[1] +219 if parts[0] == 'y': +220 if parts[1].startswith("*"): # if * is added, take distance from the opposite side +221 parts[1] = parts[1].strip("*") +222 add_height = 0 +223 if parts[1].startswith("_"): # if _ is added, take it to be bottom corner +224 add_height = int(float(self.__instances[id]["height"])*float(self.__instances[id]["scale"])) +225 print "ADD H", add_height +226 parts[1] = str(gtk.gdk.screen_height() - int(parts[1].strip("_")) - add_height) +227 print ">>>Y", parts[1] +228 if parts[0] == 'rel_x': +229 parts[0] = 'x' +230 add_width = 0 +231 if parts[1].startswith("_"): # if _ is added, take it to be right corner +232 add_width = int(float(self.__instances[id]["width"])*float(self.__instances[id]["scale"])) +233 print "ADD W", add_width +234 parts[1] = str(int(gtk.gdk.screen_width()*float(parts[1].strip("_"))) - add_width) +235 print ">>>X", parts[1] +236 if parts[0] == 'rel_y': +237 parts[0] = 'y' +238 add_height = 0 +239 if parts[1].startswith("_"): # if _ is added, take it to be bottom corner +240 add_height = int(float(self.__instances[id]["height"])*float(self.__instances[id]["scale"])) +241 print "ADD H", add_height +242 parts[1] = str(int(gtk.gdk.screen_height()*float(parts[1].strip("_"))) - add_height) +243 print ">>>Y", parts[1] +244 if parts[0] == 'rel_scale': +245 parts[0] = 'scale' +246 scale = float(self.__instances[id]["scale"]) +247 initial_scale = scale + float(gtk.gdk.screen_height()*gtk.gdk.screen_width())/float(parts[1]) +248 if initial_scale < 1.5: +249 initial_scale = 1.5 +250 if initial_scale > 3: +251 initial_scale = 3 +252 parts[1] = str(initial_scale) +253 # parts[1] = str(gtk.gdk.screen_height()/float(parts[1])) +254 print ">>>SCALE", parts[1] +255 if parts[0] == 'rel_font_name': +256 parts[0] = 'font_name' +257 print "|||", parts[1] +258 font_parts = parts[1].rsplit(" ") +259 parts[1]="" +260 for fp in font_parts: +261 if len(fp)>0 and len(fp.strip("0123456789."))==0: +262 parts[1]+= str( round(float(fp)*float(self.__instances[id]["scale"]), 1) ) + " " +263 else: +264 parts[1]+= fp + " " +265 parts[1] = parts[1].strip(" ") +266 print ">>>FONT_NAME", parts[1] +267 # End of dynamic resize section +268 print "%s='%s'" % (parts[0], parts[1]) +269 self.__instances[id][parts[0]] = parts[1] +270 f.close() -265 except Exception, ex: -266 print "Error while loading options: %s" % str(ex) -
    267 -
    268 - def __save_cache (self): -
    269 """Save the cache (for all pending instances in queue) to self.path.""" -270 # loop through all instances in queue: -271 for id in self.__queue: -272 # if element with id not exists, remove it and break -273 if self.__instances.has_key(id) == False: -274 print "Queue-element <%s> not found (already removed?)!" % id -275 self.__queue.remove(id) -276 break -277 # create list with options -278 #print "CachingBackend: Saving <#%s> :) ..." % id -279 lst = [] -280 for oname in self.__instances[id]: -281 lst.append([oname, self.__instances[id][oname]]) -282 # and save them (if any) -283 if len(lst) > 0: -284 self.__save_settings (self.271 except Exception, ex: +272 print "Error while loading options: %s" % str(ex) +
    273 +
    274 - def __save_cache (self): +
    275 """Save the cache (for all pending instances in queue) to self.path.""" +276 # loop through all instances in queue: +277 for id in self.__queue: +278 # if element with id not exists, remove it and break +279 if self.__instances.has_key(id) == False: +280 print "Queue-element <%s> not found (already removed?)!" % id +281 self.__queue.remove(id) +282 break +283 # create list with options +284 #print "CachingBackend: Saving <#%s> :) ..." % id +285 lst = [] +286 for oname in self.__instances[id]: +287 lst.append([oname, self.__instances[id][oname]]) +288 # and save them (if any) +289 if len(lst) > 0: +290 self.__save_settings (self.path + id + '.ini', lst) -285 # clear queue -286 self.__queue = [] -287 # NOT continue the timeout-function (!!!!!) -288 return False -
    289 -
    290 - def __save_settings (self, filename, lst): -
    291 """ Try to save settings in a file, first save this to a temporal file avoid encodings a disk full errors """ -292 filenametmp = filename + '.tmp' -293 isOk = True -294 newini = '' -295 try: -296 # Is posible to fail with encoding error? -297 for el in lst: -298 newini += "%s=%s\n" % (el[0], el[1]) -299 except: -300 isOk = False -301 print "error while convert config to string (encoding error?), I lose your last changes :'(" -302 -303 if isOk: -304 # Write the new settings to a temporal file, disk full, encoding, rights may fails at this point. -305 try: -306 open(filenametmp, 'w').write(newini) -307 except: -308 isOk = False -309 print "error while saving configuration to a temporal file %s, disk full?" % filenametmp -310 -311 if isOk: -312 # Move saved settings to definitive configuration file, disk error o incorrect rights may fails at this point. -313 try: -314 import shutil -315 shutil.move(filenametmp, filename) -316 except: -317 print "error while moving temporal file to configuration file, %s > %s, sorry, I lose your settings. :'(" % (filenametmp, filename) -
    318