{"action":"created","issue":{"url":"https://api.github.com/repos/asciimoo/searx/issues/415","repository_url":"https://api.github.com/repos/asciimoo/searx","labels_url":"https://api.github.com/repos/asciimoo/searx/issues/415/labels{/name}","comments_url":"https://api.github.com/repos/asciimoo/searx/issues/415/comments","events_url":"https://api.github.com/repos/asciimoo/searx/issues/415/events","html_url":"https://github.com/asciimoo/searx/issues/415","id":104646425,"number":415,"title":"refactoring ideas","user":{"login":"pointhi","id":1652144,"avatar_url":"https://avatars.githubusercontent.com/u/1652144?v=3","gravatar_id":"","url":"https://api.github.com/users/pointhi","html_url":"https://github.com/pointhi","followers_url":"https://api.github.com/users/pointhi/followers","following_url":"https://api.github.com/users/pointhi/following{/other_user}","gists_url":"https://api.github.com/users/pointhi/gists{/gist_id}","starred_url":"https://api.github.com/users/pointhi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/pointhi/subscriptions","organizations_url":"https://api.github.com/users/pointhi/orgs","repos_url":"https://api.github.com/users/pointhi/repos","events_url":"https://api.github.com/users/pointhi/events{/privacy}","received_events_url":"https://api.github.com/users/pointhi/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/asciimoo/searx/labels/core","name":"core","color":"207de5"},{"url":"https://api.github.com/repos/asciimoo/searx/labels/enhancement","name":"enhancement","color":"84b6eb"}],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":4,"created_at":"2015-09-03T08:28:47Z","updated_at":"2016-05-27T10:24:25Z","closed_at":null,"body":"In my view, it look like searx would need some refactoring.\r\n\r\n#### For example\r\nWhen I try to change something in search.py, I am faced with a big bunch of code, which is partly very hard to understand. We could split the scoring algorithm into a new source file, and divide the code into more logical parts.\r\n\r\n#### Other ideas\r\n* change variables/functions to python standard names\r\n* remove redundandency (for example: every preference.html has the same forms)\r\n* improve code (for example: using a config file to load plugins)\r\n* think about multi threading capability of objects (for example: changing query.py into an immutable Object)\r\n* think about return values of functions (to be more generic, easier to read and to extend)\r\n\r\nI think, before starting some refactoring, we should discuss how, and which parts should be refactored, and what issues are suitable to be fix while refactoring.\r\n\r\n#### Some issues which could be solved by refactoring\r\n\r\n* #396 creating a generic apporach to handle cookies, and one to manage settings in the preferences\r\n* #387 think about handling/merging of complex results (wikidata, map, ddg_definitions)\r\n* #383 improving scoring algorithm, add communication between workers: [uWSGI SharedArea](https://uwsgi-docs.readthedocs.org/en/latest/SharedArea.html)\r\n* #342 improving threaded search code\r\n* #337 improve autocompletion code\r\n* #334 supporting special search methodes (probably as plugin?)\r\n* #302 adding more informations about the engines (use https, allow safe search, use API)\r\n* #294 thinking about template independently result passing (without html/css tags)\r\n* ..."},"comment":{"url":"https://api.github.com/repos/asciimoo/searx/issues/comments/222113006","html_url":"https://github.com/asciimoo/searx/issues/415#issuecomment-222113006","issue_url":"https://api.github.com/repos/asciimoo/searx/issues/415","id":222113006,"user":{"login":"PwnArt1st","id":7827846,"avatar_url":"https://avatars.githubusercontent.com/u/7827846?v=3","gravatar_id":"","url":"https://api.github.com/users/PwnArt1st","html_url":"https://github.com/PwnArt1st","followers_url":"https://api.github.com/users/PwnArt1st/followers","following_url":"https://api.github.com/users/PwnArt1st/following{/other_user}","gists_url":"https://api.github.com/users/PwnArt1st/gists{/gist_id}","starred_url":"https://api.github.com/users/PwnArt1st/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/PwnArt1st/subscriptions","organizations_url":"https://api.github.com/users/PwnArt1st/orgs","repos_url":"https://api.github.com/users/PwnArt1st/repos","events_url":"https://api.github.com/users/PwnArt1st/events{/privacy}","received_events_url":"https://api.github.com/users/PwnArt1st/received_events","type":"User","site_admin":false},"created_at":"2016-05-27T10:24:24Z","updated_at":"2016-05-27T10:24:24Z","body":"any work on any of this?"}}
{"actor":{"display_login":"PwnArt1st"}}