{"action":"created","issue":{"url":"https://api.github.com/repos/linuxmint/nemo-extensions/issues/145","labels_url":"https://api.github.com/repos/linuxmint/nemo-extensions/issues/145/labels{/name}","comments_url":"https://api.github.com/repos/linuxmint/nemo-extensions/issues/145/comments","events_url":"https://api.github.com/repos/linuxmint/nemo-extensions/issues/145/events","html_url":"https://github.com/linuxmint/nemo-extensions/pull/145","id":123109809,"number":145,"title":"Port Python extensions to Python 3","user":{"login":"EduardDopler","id":9469003,"avatar_url":"https://avatars.githubusercontent.com/u/9469003?v=3","gravatar_id":"","url":"https://api.github.com/users/EduardDopler","html_url":"https://github.com/EduardDopler","followers_url":"https://api.github.com/users/EduardDopler/followers","following_url":"https://api.github.com/users/EduardDopler/following{/other_user}","gists_url":"https://api.github.com/users/EduardDopler/gists{/gist_id}","starred_url":"https://api.github.com/users/EduardDopler/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/EduardDopler/subscriptions","organizations_url":"https://api.github.com/users/EduardDopler/orgs","repos_url":"https://api.github.com/users/EduardDopler/repos","events_url":"https://api.github.com/users/EduardDopler/events{/privacy}","received_events_url":"https://api.github.com/users/EduardDopler/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":5,"created_at":"2015-12-19T20:47:11Z","updated_at":"2015-12-20T23:09:52Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/linuxmint/nemo-extensions/pulls/145","html_url":"https://github.com/linuxmint/nemo-extensions/pull/145","diff_url":"https://github.com/linuxmint/nemo-extensions/pull/145.diff","patch_url":"https://github.com/linuxmint/nemo-extensions/pull/145.patch"},"body":"As Python 2 *will* be discontinued and I don't want to see nemo-extensions depend on that gray version after end-of-support, I ported all Python scripts to the new version. For the source package of `nemo-python` the minimum version is 3.3 now which is supported since around Ubuntu Quantal/Raring, Debian Jessie and in all supported Fedora versions. The extensions are satisfied with Python 3.0 or 3.1.\r\n\r\nMany extensions were in bad shape concerning programming standards, conventions and documentation. As we know, this makes it hard to maintain software and introduce new features or fix bugs without introducing new bugs e.g. due to unknown side effects.  Moreover, by cleaning up the code and simplifying it where possible, performance issues were addressed as the old code often made unnecessary checks, loops or system calls.\r\n\r\nDetails on the changes can be found in the corresponding commit messages. Here are the most prominent ones:\r\n\r\n**nemo-compare**: f66d179 bea81f0\r\n- total cleanup, new preference tool, less error-prone\r\n\r\n**nemo-dropbox**: 744da22\r\n- almost no changes (2500 lines of dirty mystery code)\r\n\r\n**nemo-emblems**: 603c8d0\r\n- total cleanup, better performance\r\n- fixes bug which passed changes of multiple emblem property pages only to the most recently opened one\r\n\r\n**nemo-folder-color-switcher**: e7f20ae e921dd9\r\n- included in this repository (see below)\r\n- total cleanup, better performance\r\n\r\n**nemo-metadata-columns**: 722f809 cf6d1f8 d3308bb 25a3d9f\r\n- new extension (replaces nemo-media-columns)\r\n- more tags, simpler lookups, translated tag values, logically combined\r\n  values\r\n\r\n**nemo-metadata-tab**: 60fe0e2 fd7d7c7 cf6d1f8 d3308bb 25a3d9f\r\n- new extension (replaces nemo-audio-tab)\r\n- more file types (audio, video, image, PDF)\r\n- all printable tags are read, the most important ones are displayed by default, the other ones are behind an expander\r\n- translated tag values, cover art for audio files (ID3 and FLAC)\r\n- image evaluation can be toggled in-code (as nemo has parts of that built-in)\r\n\r\n**nemo-pastebin**: bd3f90f\r\n- less error-prone, new preference tool, more options, watches config file automatically\r\n- notifications are now essential, providing feedback throughout the process\r\n- added actions to the notifications (\"Copy URL to clipboard\", \"Open in browser\")\r\n\r\n**nemo-terminal**: 4dfe557\r\n- minor cleanup\r\n- introduced translations\r\n\r\n**nemo-rabbitvcs**:\r\n- removed due to major incompatibilities (both frontend and backend cannot be ported to Python 3, plus, it seems to produce many issues anyway. RIP.)\r\n- I have a nemo-git extention on my personal TODO list.\r\n\r\n___\r\n\r\nAs mentioned, (nemo-)`folder-color-switcher` was imported into this repository since it seems to belong here. All `caja` parts were removed (there is a `caja-extensions` repository for that).\r\n\r\nIn addition to the changes listed above all build files received updates and follow a mostly consistent style now. E.g. all Python extensions use `pybuild`, all C extensions provide the same `autoconf` layout in their `configure.ac` files. Besides, some deprecation warnings during the build process were addressed; some translation files have updated line references. Henceforth all refactored extensions present proper README files. Important changes for each extension are mentioned in `*/debian/changelog`.\r\n\r\nAll extensions are tested with Linux Mint 17.2 and 17.3 and work flawlessly for several weeks.\r\n\r\nThis commit closes or resolves the following GitHub issues (or makes them obsolete):\r\n- closes linuxmint/nemo-extensions#139\r\n- closes linuxmint/nemo-extensions#134\r\n- closes linuxmint/nemo-extensions#131\r\n- closes linuxmint/nemo-extensions#128\r\n- closes linuxmint/nemo-extensions#127\r\n- closes linuxmint/nemo-extensions#125\r\n- closes linuxmint/nemo-extensions#109\r\n- closes linuxmint/nemo-extensions#93\r\n- closes linuxmint/nemo-extensions#58\r\n- closes linuxmint/nemo-extensions#46\r\n- closes linuxmint/nemo-extensions#25\r\n- closes linuxmint/nemo-extensions#23\r\n- closes linuxmint/nemo-extensions#18"},"comment":{"url":"https://api.github.com/repos/linuxmint/nemo-extensions/issues/comments/166162355","html_url":"https://github.com/linuxmint/nemo-extensions/pull/145#issuecomment-166162355","issue_url":"https://api.github.com/repos/linuxmint/nemo-extensions/issues/145","id":166162355,"user":{"login":"EduardDopler","id":9469003,"avatar_url":"https://avatars.githubusercontent.com/u/9469003?v=3","gravatar_id":"","url":"https://api.github.com/users/EduardDopler","html_url":"https://github.com/EduardDopler","followers_url":"https://api.github.com/users/EduardDopler/followers","following_url":"https://api.github.com/users/EduardDopler/following{/other_user}","gists_url":"https://api.github.com/users/EduardDopler/gists{/gist_id}","starred_url":"https://api.github.com/users/EduardDopler/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/EduardDopler/subscriptions","organizations_url":"https://api.github.com/users/EduardDopler/orgs","repos_url":"https://api.github.com/users/EduardDopler/repos","events_url":"https://api.github.com/users/EduardDopler/events{/privacy}","received_events_url":"https://api.github.com/users/EduardDopler/received_events","type":"User","site_admin":false},"created_at":"2015-12-20T23:09:52Z","updated_at":"2015-12-20T23:09:52Z","body":"@muzena The problem with builds on Launchpad for this package is that Ubuntu trusty provides only an old version of `libnemo-extension-dev` but Mint does ship it (>=2.6.0).\r\nIf you set your build from trusty to xenial and use the new source version I just uploaded, it should build. See [my test build on Launchpad](https://launchpad.net/~garteneden/+archive/ubuntu/nemo-extensions/+packages) (\"3.0.4\")."}}