{ "info": { "author": "Mihai Bivol", "author_email": "mm.bivol@gmail.com", "bugtrack_url": null, "classifiers": [ "Environment :: Web Environment", "Framework :: Django", "Intended Audience :: Developers", "License :: OSI Approved :: BSD License", "Operating System :: OS Independent", "Programming Language :: Python", "Programming Language :: Python :: 2.6", "Programming Language :: Python :: 2.7", "Topic :: Internet :: WWW/HTTP", "Topic :: Internet :: WWW/HTTP :: Dynamic Content" ], "description": "====================\nFlis Metadata Client\n====================\n\nClient for FLIS applications that require common metadata\n\nQuick start\n-----------\n\n#. Add ``flis_metadata.common`` and ``flis_metadata.client``\n to your ``INSTALLED_APPS`` setting like this::\n\n INSTALLED_APPS = (\n ...\n 'flis_metadata.common',\n 'flis_metadata.client',\n )\n\n#. Add ``METADATA_REMOTE_HOST`` and ``METADATA_REMOTE_PATH`` into your settings file::\n\n METADATA_REMOTE_HOST = 'http://localhost:8000'\n METADATA_REMOTE_PATH = ''\n\n#. Run ``python manage.py migrate`` to migrate the common app.\n\n#. Run ``python manage.py sync_remote_models`` to sync the metadata models with\n the remote ones.\n\nHow to add a new model\n----------------------\nWe want to move model ``Foo`` from ``flis.someapp`` to be\nreplicated in all FLIS apps\n\nIn this app:\n 1. Add the model in ``common/models.py``. Make sure it extends\n ``ReplicatedModel``.\n\n 2. Add ``urls``, ``views`` and ``templates`` to edit it.\n\n 3. Add a fixture having all instances of ``Foo`` for every FLIS app.\n Note:\n This data will be replicated and migrated in every app that uses\n this package, so make sure that the migration includes everything\n\n 4. Update the pip package using ``setup.py``.\n\nIn ``flis.someapp`` and other apps using this model\n #. Update ``eaa.flis.metadata`` package in ``requirements.txt`` and\n install it.\n \n #. For every relation to the ``Foo`` model::\n\n # add a new fake foreign key field\n x = models.ForeingKey(Foo)\n fake_x = models.ForeingKey('common.Foo')\n\n # or add a new fake many to many field\n y = models.ManyToManyField(Foo)\n fake_y = models.ManyToManyField('common.Foo')\n\n #. Add a migration to add the new fields\n\n #. Create a datamigration that\n \n a) Calls ``load_metadata_fixtures`` management command\n b) For every ``x`` copies the same information in ``fake_x`` \n using the instance found in ``common.Foo``::\n\n obj.fake_x = orm['common.Foo'].objects.get(title=obj.x.title)\n\n # or\n\n for y in obj.y.all():\n obj.fake_y.add(orm['common.Foo'].objects.get(title=y.title)\n\n #. Remove the ``Foo`` model and ``x`` fields from\n ``flis.someapp``.\n\n #. Create an automatic schemamigration to reflect the removals.\n\n #. Rename ``fake_x`` fields to ``x`` in ``models.py``.\n\n #. In the migration generated at step 5 rename the fields and M2M tables from\n ``fake_x`` to ``x``.\n\n #. Run the migration in different corner cases.\n Note:\n You can browse through ``flis.flip``, ``flis.horizon-scanning-tool`` or\n ``flis.live_catalogue`` to see an example of such migrations.", "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/eea/flis.metadata", "keywords": null, "license": "BSD License", "maintainer": null, "maintainer_email": null, "name": "eea.flis.metadata", "package_url": "https://pypi.org/project/eea.flis.metadata/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/eea.flis.metadata/", "project_urls": { "Download": "UNKNOWN", "Homepage": "https://github.com/eea/flis.metadata" }, "release_url": "https://pypi.org/project/eea.flis.metadata/0.6.2/", "requires_dist": null, "requires_python": null, "summary": "EEA Metadata models replication support", "version": "0.6.2" }, "last_serial": 2397365, "releases": { "0.1": [ { "comment_text": "", "digests": { "md5": "b60aecbe908678ac3b7cdde11cd8e2c7", "sha256": "c63073a84638c568dec5e7212149d952667e532c95381eb9f2a49211ac12041a" }, "downloads": -1, "filename": "eea.flis.metadata-0.1.tar.gz", "has_sig": false, "md5_digest": "b60aecbe908678ac3b7cdde11cd8e2c7", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3106, "upload_time": "2014-11-10T14:21:49", "url": "https://files.pythonhosted.org/packages/d3/a2/e4d7b7f319473906e26b7d8b70443b8448d8275287f837256a432f9d357b/eea.flis.metadata-0.1.tar.gz" } ], "0.2": [ { "comment_text": "", "digests": { "md5": "51d88e479aca5b6b297e23ddcacb3492", "sha256": "3ec879d5ccbed47666af315bf7979d2c6c010519836d063842b9e6957934b6a4" }, "downloads": -1, "filename": "eea.flis.metadata-0.2.tar.gz", "has_sig": false, "md5_digest": "51d88e479aca5b6b297e23ddcacb3492", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3234, "upload_time": "2014-11-11T09:29:37", "url": "https://files.pythonhosted.org/packages/76/75/c0fa65d1ba2bc0a9d0f8a8899efd29b57f04c71d25503871baa7e0d816b0/eea.flis.metadata-0.2.tar.gz" } ], "0.3": [ { "comment_text": "", "digests": { "md5": "a08de5d7695bc18fe680c7844cc4ca3f", "sha256": "406d11d418c0820d0945b0f925f2bd41faac98f29133da856fc7caec5f1216dd" }, "downloads": -1, "filename": "eea.flis.metadata-0.3.tar.gz", "has_sig": false, "md5_digest": "a08de5d7695bc18fe680c7844cc4ca3f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3783, "upload_time": "2014-11-11T09:56:02", "url": "https://files.pythonhosted.org/packages/52/bb/4767c83839dc52eb5303749084dfd987fd0467cdc27bc97dd90287af6582/eea.flis.metadata-0.3.tar.gz" } ], "0.4": [ { "comment_text": "", "digests": { "md5": "272e47b4136c3250f60cf2aa24d7ea30", "sha256": "99eedda9f13c661ba1524770f56da1412a152d5a5e7b7bff7c47e5d152f62451" }, "downloads": -1, "filename": "eea.flis.metadata-0.4.tar.gz", "has_sig": false, "md5_digest": "272e47b4136c3250f60cf2aa24d7ea30", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4524, "upload_time": "2014-11-11T12:19:19", "url": "https://files.pythonhosted.org/packages/c3/8c/6c7daa9f8bb06ed028f822fc67c1dcab24c9c758d6746172a947568b2cc3/eea.flis.metadata-0.4.tar.gz" } ], "0.5.0": [ { "comment_text": "", "digests": { "md5": "942590aeb5b8a5965da7919d997d86bf", "sha256": "ef7d18a0aeae0ee0a6e5508076732721d6ac6719a28851d82b491a6596aba895" }, "downloads": -1, "filename": "eea.flis.metadata-0.5.0.tar.gz", "has_sig": false, "md5_digest": "942590aeb5b8a5965da7919d997d86bf", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4541, "upload_time": "2014-11-11T12:23:06", "url": "https://files.pythonhosted.org/packages/83/a3/5a69eab02d80b5c17017c8462c9cfbd2a36b03bfd897ae234e3a40a05529/eea.flis.metadata-0.5.0.tar.gz" } ], "0.5.1": [ { "comment_text": "", "digests": { "md5": "bf53a076fce8a1b651f2047e42bd53ba", "sha256": "2a4e8df2e416f89b216538136664b0b250446af560a6a4280afa5984ce087672" }, "downloads": -1, "filename": "eea.flis.metadata-0.5.1.tar.gz", "has_sig": false, "md5_digest": "bf53a076fce8a1b651f2047e42bd53ba", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4747, "upload_time": "2014-11-11T12:56:07", "url": "https://files.pythonhosted.org/packages/8f/46/7ec124f4c5dbd546b3918070902b8458b0d0d0861d3a428aa14d05d56498/eea.flis.metadata-0.5.1.tar.gz" } ], "0.5.2": [ { "comment_text": "", "digests": { "md5": "cd4ebaa7407cc527b16fd5dfb2b05385", "sha256": "f6fbd04bbb40f416fe130dfdf7106356d65398460c57153ac4961b670a545fff" }, "downloads": -1, "filename": "eea.flis.metadata-0.5.2.tar.gz", "has_sig": false, "md5_digest": "cd4ebaa7407cc527b16fd5dfb2b05385", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5823, "upload_time": "2014-11-11T13:02:13", "url": "https://files.pythonhosted.org/packages/12/b0/eb6ff0b3b8e2c44c491e4db06946eca0b2d12cd3a7754c5c01937d29182c/eea.flis.metadata-0.5.2.tar.gz" } ], "0.5.3": [ { "comment_text": "", "digests": { "md5": "f1951e086eb6c35594a9cee98af96a86", "sha256": "6dd4afeea9517c137818bb7eeb94755ce4d7f0a3869069cbce4a63f4e1f6c791" }, "downloads": -1, "filename": "eea.flis.metadata-0.5.3.tar.gz", "has_sig": false, "md5_digest": "f1951e086eb6c35594a9cee98af96a86", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5868, "upload_time": "2014-11-17T14:53:44", "url": "https://files.pythonhosted.org/packages/24/1e/235cd8926c33cd96cd807b6d815624e22894b4d954f23a2c693dbbcdd112/eea.flis.metadata-0.5.3.tar.gz" } ], "0.5.4": [ { "comment_text": "", "digests": { "md5": "e319dd0e5797e540273a1474e92e7577", "sha256": "a255e6d0bfad529152bc69813f28bf6d7aa1341d109b9ddfaa644e4bfdc6c8d5" }, "downloads": -1, "filename": "eea.flis.metadata-0.5.4.tar.gz", "has_sig": false, "md5_digest": "e319dd0e5797e540273a1474e92e7577", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8237, "upload_time": "2014-11-27T10:43:56", "url": "https://files.pythonhosted.org/packages/66/99/66462ec6861b8395254b0c03c4f75d91cbae00df043baf2948b1fdfc03ae/eea.flis.metadata-0.5.4.tar.gz" } ], "0.5.5": [ { "comment_text": "", "digests": { "md5": "2148b7d7f21b9d7f2d95f4f13d2e2ec1", "sha256": "21ef2a3374dc3fe94bd5afb3ca875cb8ea2450a816988e4d7ab99e9471777d66" }, "downloads": -1, "filename": "eea.flis.metadata-0.5.5.tar.gz", "has_sig": false, "md5_digest": "2148b7d7f21b9d7f2d95f4f13d2e2ec1", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8240, "upload_time": "2014-11-27T10:46:48", "url": "https://files.pythonhosted.org/packages/ca/be/45b5af0109b0a69b66b7b48c1399c6f226785cfb34940f81a39642ba6380/eea.flis.metadata-0.5.5.tar.gz" } ], "0.6.0": [ { "comment_text": "", "digests": { "md5": "d4c8446a8ac2b6574faf255ccb767f37", "sha256": "5b8cfddf3175763785f06df676f8a69a9176876b6f2832029d2400ce309519ac" }, "downloads": -1, "filename": "eea.flis.metadata-0.6.0.tar.gz", "has_sig": false, "md5_digest": "d4c8446a8ac2b6574faf255ccb767f37", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8755, "upload_time": "2015-06-19T12:23:48", "url": "https://files.pythonhosted.org/packages/d8/5b/3fe9093bca7829d128caef9c2b78b473930618a99a7f0b603d1f18188b81/eea.flis.metadata-0.6.0.tar.gz" } ], "0.6.1": [ { "comment_text": "", "digests": { "md5": "c5084ace4c76137365852a64d9d38869", "sha256": "a1c68a2b4e91f20eb804e561533048c03fcab23e79fb1746746c49209449001d" }, "downloads": -1, "filename": "eea.flis.metadata-0.6.1.tar.gz", "has_sig": false, "md5_digest": "c5084ace4c76137365852a64d9d38869", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8150, "upload_time": "2016-10-10T15:45:43", "url": "https://files.pythonhosted.org/packages/db/f4/d2f582de33a088df42eff5c059ff8246e7fa25636e1d0820cce3b432681a/eea.flis.metadata-0.6.1.tar.gz" } ], "0.6.2": [ { "comment_text": "", "digests": { "md5": "15118e715e7fb430a67e2926920dcb3c", "sha256": "aa7e5eff3fa5b367bd485a1f228045912ccf6eebcfddc482881e37779cfffa11" }, "downloads": -1, "filename": "eea.flis.metadata-0.6.2.tar.gz", "has_sig": false, "md5_digest": "15118e715e7fb430a67e2926920dcb3c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8023, "upload_time": "2016-10-13T14:47:01", "url": "https://files.pythonhosted.org/packages/00/f6/926a11c042b1670e05e69da4822475308b71ea3fde2f81cbce2ed9260189/eea.flis.metadata-0.6.2.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "15118e715e7fb430a67e2926920dcb3c", "sha256": "aa7e5eff3fa5b367bd485a1f228045912ccf6eebcfddc482881e37779cfffa11" }, "downloads": -1, "filename": "eea.flis.metadata-0.6.2.tar.gz", "has_sig": false, "md5_digest": "15118e715e7fb430a67e2926920dcb3c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8023, "upload_time": "2016-10-13T14:47:01", "url": "https://files.pythonhosted.org/packages/00/f6/926a11c042b1670e05e69da4822475308b71ea3fde2f81cbce2ed9260189/eea.flis.metadata-0.6.2.tar.gz" } ] }