{ "info": { "author": "Petros Douvantzis", "author_email": "petrakeas@gmail.com", "bugtrack_url": null, "classifiers": [ "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.0", "Programming Language :: Python :: 3.1", "Programming Language :: Python :: 3.2" ], "description": "itunes\\_file\\_system (itunesfs)\n===============================\n\n**Script for generating an iTunes Connect package (.itmsp) straight from\nyour asset folder**\n\n***itunesfs*** performs the following conversion:\n\n.\\ |pipeline|\n\nThe task of managing and uploading the localised assets of your iOS app\nin a tedious one. When the number of supported languages increases, the\neffort needed via the web interface of `iTunes\nConnect `__ is increased accordingly.\nApple's **iTMSTransporter** tool gives you the ability to download and\nupload App Store Packages (.itmsp) from the command line. However,\naltering the data requires an XML file manipulation.\n\nAn easier way is to use `**itunes\\_transporter\\_generator\n(itmsp)** `__\n, which lets you add your metadata in a **YAML** app configuration.\nRunning *itmsp* converts the YAML file to an **.itmsp package** that can\nbe uploaded using iTMSTransporter. However, when multiple localized\nassets are involved, this solution leads to editing a huge unmanageable\nYAML file.\n\nThis tool, **itunes\\_file\\_system (itunesfs)**, lets you organise your\nassets (screenshots, description, keywords etc) in a specific file\nhierarchy. Running *itunesfs* produces an intermediate YAML\nconfiguration file and, if you have *itmsp* installed, it uses it to\ngenerate the final .itmsp package. You can then uploaded it on iTunes\nConnect using iTMSTransporter.\n\nInstallation\n------------\n\n1. Download and install `**python\n 3** `__. Python 2.x is not supported\n at the moment.\n2. If you have **PIP**\n `installed `__\n for Python 3 type:\n\n ::\n\n $ pip3 install itunesfs \n\n Otherwise download the source from\n https://pypi.python.org/pypi/itunesfs/ and type:\n\n ::\n\n $ sudo python3 setup.py install \n\n3. *(optional)* Install\n `itunes\\_transporter\\_generator `__\n running:\n\n ::\n\n $ gem install itunes_transporter_generator\n\n*Note that you will need apple's iTMSTransporter, to upload the package\nat iTunes. If you have Xcode installed, you already have this tool on\nyour system.*\n\nUsage\n-----\n\nOrganise your folders\n~~~~~~~~~~~~~~~~~~~~~\n\nYour files have to be under a root folder and organised as shown in the\n\"example\" app, which is included in the package. Note that all files\nshould be encoded using **UTF-8**.\n\n.\\ |file hierarchy|\n\n- At the root folder, the **config\\_app.yaml** contains the basic\n configuration for the app.\n- One or more **versions** can exist as folders under the root folder.\n- Each version can have one or more **locales**. The \"master\" locale,\n that should always be available, is \"en-US\".\n- Each locale can have:\n\n - the **config-local.yaml**, that contains locale related\n configuration such as the title of the app\n - the **description.txt**, that holds the App Store description\n - the **keywords.txt**, that is a comma separated list of the\n keywords. The spaces around each keyword, will be erased. Also a\n warning will be produced when they exceed the App Store 100\n character limit.\n - a **screenshot** folder. It can contain ipad, iphone\\_3.5in,\n iphone\\_4in, iphone\\_4.7in or iphone\\_5.5in subfolders. Each\n device subfolder can have one or more screenshot files. The order\n that they will be used is alphabetical.\n\nThe \"en-US\" locale must always contain the following files:\n**config-local.yaml**, **description.txt**, **keywords.txt**. Even\nthough screenshots are optional, itmsp will fail to produce the .itmsp\nwithout them.\n\nFor the other locales, these files are **optional**. If a file is not\nfound, the corresponding \"en-US\" file will be used instead.\n\nGenerate the .itmsp\n~~~~~~~~~~~~~~~~~~~\n\nIf your Python 3's bin folder is in yout PATH, then **itunesfs** can be\nexecuted from the command line.\n\nTo generate the .itmsp package\n^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n\nIf you have installed *itmsp*, *itunesfs* will call it by default to\ngenerate the package from the YAML file.:\n\n::\n\n $ itunesfs \n\nTo generate *only* the intermediate YAML configuration file\n^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n\n::\n\n $ itunesfs -t YAML\n \n\ne.g. ``$itunesfs /example -t YAML``: this parses the \"example\" directory\nand generates an *output.yaml* file under it.\n\nIf you want to change the output directory use:\n\n::\n\n $ itunesfs -o -t YAML\n\nThis will also copy the screenshot files.\n\nVerifying and uploading the package\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\nHere's a really small guide for Apple's iTMSTransporter.\n\nFor ease of use, add this alias to your bash profile.\n\n- run: ``$open ~/.bash_profile``\n- add this line and save:\n ``alias iTMSTransporter='`xcode-select --print-path`/../Applications/Application\\ Loader.app/Contents/MacOS/itms/bin/iTMSTransporter'``\n\nUsing iTMSTransporter:\n^^^^^^^^^^^^^^^^^^^^^^\n\nRemember to escape with \"\" special characters like \"$\" in the password\nfield. Also the path can be either the path for one package or the path\nfor a folder containing one or more packages.\n\nTo verify the package:\n\n::\n\n $ iTMSTransporter -m verify -u -p -f \n\nTo uplaod the package:\n\n::\n\n $ iTMSTransporter -m upload -u -p -f \n\nMore information: http://stackoverflow.com/a/17824838\n\n.. |pipeline| image:: http://raw.github.com/evilwindowdog/itunesfs/master/README_PIPELINE.png\n.. |file hierarchy| image:: http://raw.github.com/evilwindowdog/itunesfs/master/README_FILE_HIERARCHY.png", "description_content_type": null, "docs_url": null, "download_url": "UNKNOWN", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/evilwindowdog/itunesfs", "keywords": "itunesconnect,localization,yaml,apple,itunes,iTMStransporter,iOS", "license": "MIT", "maintainer": null, "maintainer_email": null, "name": "itunesfs", "package_url": "https://pypi.org/project/itunesfs/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/itunesfs/", "project_urls": { "Download": "UNKNOWN", "Homepage": "https://github.com/evilwindowdog/itunesfs" }, "release_url": "https://pypi.org/project/itunesfs/1.0.0.9/", "requires_dist": null, "requires_python": null, "summary": "Script (python3 atm) for generating an iTunes Connect package (.itmsp) straight from your file system", "version": "1.0.0.9" }, "last_serial": 1242290, "releases": { "1.0": [ { "comment_text": "", "digests": { "md5": "74a41c7c9ac031a0d9f84aaba98c8cb6", "sha256": "b0841fe4682659a35255b5b3ed77076f4ea4470110eb64825baa20e94cbc9306" }, "downloads": -1, "filename": "itunesfs-1.0.tar.gz", "has_sig": false, "md5_digest": "74a41c7c9ac031a0d9f84aaba98c8cb6", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 207989, "upload_time": "2014-03-12T22:08:31", "url": "https://files.pythonhosted.org/packages/d3/b4/a1d488f564878f8c4828f6bc7258b5139b1f3d84a2d4db05afea69651506/itunesfs-1.0.tar.gz" } ], "1.0.0.1": [ { "comment_text": "", "digests": { "md5": "cd265bb5e781ac60d645194c6c093b23", "sha256": "115f1216474cfac0435c9fc7bd1501135e3280efb733b582596c187334bc55c9" }, "downloads": -1, "filename": "itunesfs-1.0.0.1.tar.gz", "has_sig": false, "md5_digest": "cd265bb5e781ac60d645194c6c093b23", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 208082, "upload_time": "2014-03-12T22:18:27", "url": "https://files.pythonhosted.org/packages/46/b7/99ff5f0fd037c4b75549e4d42f09ff4c897d7ba5628b278e857f2aa0be7a/itunesfs-1.0.0.1.tar.gz" } ], "1.0.0.2": [ { "comment_text": "", "digests": { "md5": "0a30bf8e56190cc13be0eb70cfa45732", "sha256": "3d56e43d42c58327e87e4046257bee8e5a0cd6b768c282f2d4cb70795caf99f5" }, "downloads": -1, "filename": "itunesfs-1.0.0.2.tar.gz", "has_sig": false, "md5_digest": "0a30bf8e56190cc13be0eb70cfa45732", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 208118, "upload_time": "2014-03-12T22:54:25", "url": "https://files.pythonhosted.org/packages/b2/39/11b401a719c310e22253fb1d68f2c0e1ea648f81e7e07b98df34b9b91cd3/itunesfs-1.0.0.2.tar.gz" } ], "1.0.0.3": [ { "comment_text": "", "digests": { "md5": "dfd36691922521e3ea1910234463308d", "sha256": "4cacdd6eea150d6ca76aba99d655c34eacf9b326eeda915e6f3f64a7c09ba4fd" }, "downloads": -1, "filename": "itunesfs-1.0.0.3.tar.gz", "has_sig": false, "md5_digest": "dfd36691922521e3ea1910234463308d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 208908, "upload_time": "2014-03-12T23:57:34", "url": "https://files.pythonhosted.org/packages/9f/f4/03bb3e467a880af1ca4f32bd1d78fea2292b4ead10c6153aefce2c641c58/itunesfs-1.0.0.3.tar.gz" } ], "1.0.0.4": [ { "comment_text": "", "digests": { "md5": "ac1c811df0ea822f0eb6398f9b792da4", "sha256": "95aca4ef75c9004535f8a74c97ed1b17df6da112b37165e11043d7462eef19df" }, "downloads": -1, "filename": "itunesfs-1.0.0.4.tar.gz", "has_sig": false, "md5_digest": "ac1c811df0ea822f0eb6398f9b792da4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 161145, "upload_time": "2014-03-14T22:01:52", "url": "https://files.pythonhosted.org/packages/ec/49/c35877b34439e3d441e0aca1b0321406eb4265faff74286a3f0d63e6651a/itunesfs-1.0.0.4.tar.gz" } ], "1.0.0.5": [ { "comment_text": "", "digests": { "md5": "297f0cdd95c658ad54af21bd4774aaf0", "sha256": "05b8b8d07721977ec573b3783047f0de8a510b004f5433128b1d5639e124d85a" }, "downloads": -1, "filename": "itunesfs-1.0.0.5.tar.gz", "has_sig": false, "md5_digest": "297f0cdd95c658ad54af21bd4774aaf0", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 251006, "upload_time": "2014-03-14T22:14:28", "url": "https://files.pythonhosted.org/packages/03/e0/4d9652cfe562ed6ace37e950b6eefbe9b5691758b925799176f4671da9d7/itunesfs-1.0.0.5.tar.gz" } ], "1.0.0.6": [ { "comment_text": "", "digests": { "md5": "25c332a5d7205d19ab04d44617e54fe1", "sha256": "f4f2b2dc69b6e8913173860f235285a3bf6407c150438df85d7e27c71e6582fe" }, "downloads": -1, "filename": "itunesfs-1.0.0.6.tar.gz", "has_sig": false, "md5_digest": "25c332a5d7205d19ab04d44617e54fe1", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 161390, "upload_time": "2014-03-15T11:03:54", "url": "https://files.pythonhosted.org/packages/2d/08/4e36a969dc73b75382bb66c9106460664d1bfa48e17adb1aa4ee9083a942/itunesfs-1.0.0.6.tar.gz" } ], "1.0.0.7": [ { "comment_text": "", "digests": { "md5": "017c8da9a17bc854c54e0d8cb6deec70", "sha256": "5ff18220449a237b2aee24e69d5e0075a4b816061889066578705eb8006c6e18" }, "downloads": -1, "filename": "itunesfs-1.0.0.7.tar.gz", "has_sig": false, "md5_digest": "017c8da9a17bc854c54e0d8cb6deec70", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 161617, "upload_time": "2014-03-26T12:14:26", "url": "https://files.pythonhosted.org/packages/80/10/a7db85e4e79d75eff50953e4f88ea2fa5ff9ea2f7af1ac8dac08201e2a2e/itunesfs-1.0.0.7.tar.gz" } ], "1.0.0.8": [ { "comment_text": "", "digests": { "md5": "7f6a5be9aa5a1835469edd9411500eae", "sha256": "b28fdab9b17272f9f69827aae3e9978e9a084cef998f6837fbbe9a5c9942e0bf" }, "downloads": -1, "filename": "itunesfs-1.0.0.8.tar.gz", "has_sig": false, "md5_digest": "7f6a5be9aa5a1835469edd9411500eae", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 194524, "upload_time": "2014-09-29T19:47:55", "url": "https://files.pythonhosted.org/packages/db/79/56c84860896e83c341c4a2b884ce7ecebf11f3e0279990d7cc27479e63e7/itunesfs-1.0.0.8.tar.gz" } ], "1.0.0.9": [ { "comment_text": "", "digests": { "md5": "48ad83345138e7cce24f11f4700f0baa", "sha256": "745955d39d00366892aa1ed36723e35727e6688633f2242f4f93e2c2bbc9a8ac" }, "downloads": -1, "filename": "itunesfs-1.0.0.9.tar.gz", "has_sig": false, "md5_digest": "48ad83345138e7cce24f11f4700f0baa", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 194538, "upload_time": "2014-09-29T20:26:22", "url": "https://files.pythonhosted.org/packages/cb/16/ab34fb31a1d2ebe5b6745aefc0d222abd29cd699995c4878fc2de48a70ec/itunesfs-1.0.0.9.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "48ad83345138e7cce24f11f4700f0baa", "sha256": "745955d39d00366892aa1ed36723e35727e6688633f2242f4f93e2c2bbc9a8ac" }, "downloads": -1, "filename": "itunesfs-1.0.0.9.tar.gz", "has_sig": false, "md5_digest": "48ad83345138e7cce24f11f4700f0baa", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 194538, "upload_time": "2014-09-29T20:26:22", "url": "https://files.pythonhosted.org/packages/cb/16/ab34fb31a1d2ebe5b6745aefc0d222abd29cd699995c4878fc2de48a70ec/itunesfs-1.0.0.9.tar.gz" } ] }