{ "info": { "author": "Thomas Lotze", "author_email": "thomas@thomas-lotze.de", "bugtrack_url": null, "classifiers": [ "Development Status :: 3 - Alpha", "Environment :: Console", "License :: OSI Approved :: Zope Public License", "Programming Language :: Python", "Topic :: Utilities" ], "description": "=====\nPhebe\n=====\n\nCommunicate with a mobile phone connected to your computer.\n\nPhebe contains a command shell that performs common tasks on a phone connected\nto your computer: get usage stats, back-up the phonebook and contacts, as well\nas download and delete short messages. Communication is done through AT\ncommands as specified by Sony-Ericsson.\n\nThis package requires Python 2.5 or newer.\n\n\nThe command shell\n=================\n\nConfiguration\n-------------\n\nThe ``phebe`` shell needs to be told the device node that represents the phone\nto the operating system, and the BAUD rate the phone communicates at. These\nmay be given in an ini-style configuration file, either system-wide at\n``/etc/pheberc`` or in the user's home directory at ``~/.pheberc``, or as\ncommand line options.\n\nCommand line options override configuration files, and ``~/.pheberc``\noverrides ``/etc/pheberc``. If any of device node and baud rate is not\nspecified in one of the configuration files, it must be given on the command\nline. No useful default values are provided for these two settings.\n\nAnother option is the default national phone number prefix. This allows\ndealing with numbers that sometimes appear in national format and sometimes in\ninternational format, e.g. when looking up short message addresses in the\nphonebook. This option is not required.\n\nA sample configuration file might look like this::\n\n [Connection]\n device=/dev/ttyACM0\n baud=9600\n\n [Local]\n # Germany\n prefix=49\n\nThe corresponding command line options are defined as follows:\n\n--help, -h show this help message and exit\n\n--device=DEVICE, -d DEVICE the device node\n\n--baud-rate=BAUD_RATE, -b BAUD_RATE the BAUD rate\n\n--prefix=PREFIX, -p PREFIX the default national phone number prefix\n\nThe information from the above configuration file might be specified in terms\nof command line options like this::\n\n $ phebe --device=/dev/ttyACM0 --baud-rate=9600 --prefix=49\n\nUsage\n-----\n\nThe following is a short description of what the commands provided by the\n``phebe`` shell do and what their arguments mean.\n\n``atterm``\n Talk to your phone by issuing AT commands at a prompt and receiving the raw\n textual response from the device.\n\n``usage``\n Prints a summary of how much of your phone's resources are used. This\n currently includes the used vs total number of entries in each of the\n phonebooks and SMS storages.\n\n``smsusage``\n Prints the total number of stored short messages per contact (received plus\n sent).\n\n``phonebook``\n Lists all entries from the phonebook storages named as command arguments, in\n the order they are indexed by the phone. Without arguments, lists the \"ME\"\n storage.\n\n``contacts``\n Lists entries grouped by contact, per storage. The output format is roughly\n ini-style.\n\n``messages``\n Lists short messages from the \"ME\" SMS storage.\n\n Arguments may be either storage indexes or index ranges (such as \"14-23\") of\n single messages to list. Without arguments, all messages are listed. If\n non-existent indexes are given explicitly or included in ranges given, they\n will be ignored.\n\n``conversations``\n Lists short messages from the \"ME\" SMS storage grouped into conversations\n with your contacts.\n\n Arguments may be partial names; conversations with any matching contacts are\n listed. Without arguments, all conversations are listed. If a sender or\n recipient number cannot be resolved into a contact name using the phonebook,\n the number itself is used for the grouping.\n\n``deletemessages``\n Deletes short messages from your phone's \"ME\" SMS storage.\n\n Command arguments are the same as for the ``messages`` command. Messages to\n be deleted will be listed first and deletion is guarded by a safety query.\n\n``deleteconversations``\n Deletes short messages belonging to conversations with your contacts from\n your phone's \"ME\" SMS storage.\n\n Command arguments are the same as for the ``conversations`` command.\n Messages to be deleted will be listed first and deletion is guarded by a\n safety query.\n\nThe ``phonebook``, ``contacts``, ``messages`` and ``conversations`` commands\nsend their output to the default pager for convenient browsing. You can\nredirect the output to a file instead using the ``>`` operator known from\nsystem shells. To send a phonebook dump to a file instead of paging through\nit, for example, say::\n\n (Cmd) phonebook > /tmp/phonebook.backup\n\n\nThe Phebe API\n=============\n\nThis section contains an overview of Phebe's concepts and package structure.\n\nThe connection\n--------------\n\nPhebe talks to a mobile phone by sending AT commands to a device node and\nreading a textual response from it, which may or may not signal an error.\n\nThe connection object encapsulates device-level communication with the phone.\nIt is the only object which cares about the device node name and the BAUD\nrate. To the rest of the application, it is a callable that takes an AT\ncommand string as a parameter and either returns a sequence of respose lines\nor raises an exception. It does not maintain any state.\n\nProtocols\n---------\n\nEach functionality of the phone, such as phonebook or SMS management, has its\nown group of AT commands with specified parameters and result formats.\n\nA protocol is an object whose interface to the rest of the application\nreflects the actions related to a specific functionality. These actions\ndirectly correspond to what is implemented by the phone as AT commands.\nProtocols use the connection object to send AT commands with appropriately\nformatted parameters, receive and interpret the response, and return plain\nPython data structures holding the received information. They don't maintain\nany state, either.\n\nProxies\n-------\n\nAs opposed to the stateless, action-related protocols, proxies represent\nparticular aspects of the phone's functionality and state to the application.\n\nA proxy employs a protocol object and exposes an interface that is defined by\nthe demands of the functionality modelled. Proxies are stateful; their state\nrepresents the information stored on and the current state of the phone. They\nmay need to be explicitly synchronized against the phone. Modifying a proxy's\nstate immediately modifies the information stored in or the state of the\nphone. It is probably a good idea to use at most one proxy per phone for any\ngiven functionality at a time.\n\nApplication objects\n-------------------\n\nApplication objects are Phebe's highest-level objects representing the phone.\nThey combine various functionalities independent of the command specification.\n\nApplication objects expose whatever interface fits their purpose. They define\nand use Phebe-specific data structures. Each application object may make use\nof any number of different proxies simultaneously. Manipulating an application\nobject's state should not directly affect the phone; the phone should rathter\nbe modified explicitly through methods. This is so that application objects\nmay be used more freely.\n\nPackage structure\n-----------------\n\nThe phebe package contains three subpackages and a number of modules, all of\nthem described in the following.\n\n``connection``\n the fundamental Connection class and the ATError exception\n\n``rangelist``\n the RangeList data type used for specifying message index ranges\n\n``response``\n parsing responses to AT commands\n\n``gsmcoding``\n handling PDUs encoded with the GSM alphabet and 7-bit packed\n\n``gsmaddress``\n a phone number implementation aware of number types and numbering plans\n\n``sms``\n data structures for various SMS types as defined by the GSM standards\n\n``shell``\n the ``phebe`` command shell and its egg entry point\n\n``phebe.protocol``\n\n ``phonebook``\n access to the phonebook\n\n ``sms``\n access to the SMS storages\n\n``phebe.proxy``\n\n ``phonebook``\n proxy representing the phone's phonebook\n\n ``sms``\n proxy representing the phone as an SMS mobile station\n\n``phebe.app``\n\n ``contact``\n manage any contact information stored on the phone\n\n ``message``\n manage any messaging done through the phone using contacts\n\n\nStatus\n======\n\nThe implementation follows the Sony-Ericsson developer guidelines for using AT\ncommands as of December 7, 2006, see\n. It has been\ntested only on a SE K750i, using Debian and Gentoo Linux distributions with a\n2.6 kernel so far.\n\nThe current status of Phebe is \"works for me\", i.e. it provides the\nfunctionality the author immediately needs: get usage stats of the phone,\nback-up the phonebook, dump and delete short messages. See ROADMAP.txt and\nTODO.txt for prospective further developments.\n\nWhile neither talking through the AT command interface nor the higher-level\ndata structures implemented by Phebe are operating system specific,\ncommunication with the device is. Phebe currently does this by using a Python\nmodule only available on Unix. The author is not going to port Phebe to\nnon-Unix systems any time soon, so if you want it to support your OS, you have\nto supply an appropriate patch.\n\n\nContact\n=======\n\nPhebe is written by Thomas Lotze. Please contact the author at\n to provide feedback or suggestions on or\ncontributions to Phebe.\n\nSee also .\n\n\n.. Local Variables:\n.. mode: rst\n.. End:", "description_content_type": null, "docs_url": null, "download_url": "UNKNOWN", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "http://www.thomas-lotze.de/en/software/phebe/", "keywords": "mobile phone at commands phonebook contacts sms", "license": "ZPL 2.1", "maintainer": null, "maintainer_email": null, "name": "phebe", "package_url": "https://pypi.org/project/phebe/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/phebe/", "project_urls": { "Download": "UNKNOWN", "Homepage": "http://www.thomas-lotze.de/en/software/phebe/" }, "release_url": "https://pypi.org/project/phebe/0.2/", "requires_dist": null, "requires_python": null, "summary": "Communicate with a mobile phone connected to your computer.", "version": "0.2" }, "last_serial": 796204, "releases": { "0.2": [ { "comment_text": "", "digests": { "md5": "4e682a0ae52f22305087321b21aa7310", "sha256": "f8b1e7f5f1c64152da69f0ac1196280a74328e36d5c3dab3cea677137a9af103" }, "downloads": -1, "filename": "phebe-0.2.tar.gz", "has_sig": true, "md5_digest": "4e682a0ae52f22305087321b21aa7310", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 23659, "upload_time": "2008-11-12T19:10:49", "url": "https://files.pythonhosted.org/packages/ff/0f/716cebb5d11d961b18a84c3c337feb4bb011d1bbfc6c25fc47ca241b76dc/phebe-0.2.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "4e682a0ae52f22305087321b21aa7310", "sha256": "f8b1e7f5f1c64152da69f0ac1196280a74328e36d5c3dab3cea677137a9af103" }, "downloads": -1, "filename": "phebe-0.2.tar.gz", "has_sig": true, "md5_digest": "4e682a0ae52f22305087321b21aa7310", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 23659, "upload_time": "2008-11-12T19:10:49", "url": "https://files.pythonhosted.org/packages/ff/0f/716cebb5d11d961b18a84c3c337feb4bb011d1bbfc6c25fc47ca241b76dc/phebe-0.2.tar.gz" } ] }