{ "info": { "author": "CrawlerCode", "author_email": "", "bugtrack_url": null, "classifiers": [], "description": ".. image:: https://img.shields.io/badge/license-MIT-green\r\n :target: https://pypi.org/project/CrawlerCodePythonTools\r\n\r\nCrawlerCodePythonTools - Documentation\r\n======================================\r\n\r\nInstallation\r\n============\r\n\r\n::\r\n\r\n pip install CrawlerCodePythonTools\r\n\r\nConfig\r\n======\r\n\r\n.. code:: python\r\n\r\n from pythontools.core import config\r\n\r\n cfg = config.Config(path=\"\", default_config={\"config_data_1\": \"value_123\"})\r\n cfgData = cfg.getConfig()\r\n\r\n # get config value\r\n print(cfgData[\"config_data_1\"])\r\n\r\n # chang value and save config\r\n cfgData[\"config_data_1\"] = \"value_456\"\r\n cfg.saveConfig()\r\n\r\nLogger\r\n======\r\n\r\n.. code:: python\r\n\r\n from pythontools.core import logger\r\n\r\n # path to logs directory (optional)\r\n logger.init_log(\"logs\")\r\n\r\n # set time format (optional)\r\n logger.set_time_format(date=True, time=True)\r\n\r\n # print color test\r\n logger.log(\"\u00c2\u00a71Blue \u00c2\u00a79Light-Blue \u00c2\u00a73Cyan \u00c2\u00a7bLight-Cyan \u00c2\u00a74Red \u00c2\u00a7cLight-Red \u00c2\u00a76Yellow \u00c2\u00a7eLight-Yellow \u00c2\u00a72Green \u00c2\u00a7aLight-Green \u00c2\u00a75Magenta \u00c2\u00a7dLight-Magenta \u00c2\u00a7fWhite \u00c2\u00a77Light-Gray \u00c2\u00a78Gray \u00c2\u00a70Black\")\r\n\r\n\r\nCronJob\r\n=======\r\n\r\n.. code:: python\r\n\r\n from pythontools.core import cronjob, logger\r\n..\r\n\r\n Interval-based CronJob\r\n\r\n.. code:: python\r\n\r\n def cron_interval_based():\r\n logger.log(\"Interval-based CronJob done.\")\r\n\r\n # register CronJob\r\n cronjob.register_cron_job(cronjob.CronJob(\"cron_interval_based\", 10, cron_interval_based))\r\n..\r\n\r\n Time-based CronJob\r\n\r\n.. code:: python\r\n\r\n def cron_time_based():\r\n logger.log(\"Time-based CronJob done.\")\r\n\r\n # register CronJob\r\n #cronjob.register_cron_job(cronjob.CronJob(\"cron_time_based\", \"20\", cron_time_based)) # 20 => 20h\r\n cronjob.register_cron_job(cronjob.CronJob(\"cron_time_based\", \"20:10\", cron_time_based)) # 20:10 => 20h 10m\r\n #cronjob.register_cron_job(cronjob.CronJob(\"cron_time_based\", \"20:10:30\", cron_time_based)) # 20:10:30 => 20h 10m 30s\r\n..\r\n\r\n Weekday-based CronJob\r\n\r\n.. code:: python\r\n\r\n def cron_weekday_based():\r\n logger.log(\"today is friday!\")\r\n logger.log(\"Weekday-based CronJob done.\")\r\n\r\n # register CronJob\r\n cronjob.register_cron_job(cronjob.CronJob(\"cron_weekday_based\", \"friday\", cron_weekday_based))\r\n..\r\n\r\nServer and Client (sockets)\r\n===========================\r\n\r\n Server\r\n\r\n.. code:: python\r\n\r\n from pythontools.sockets import server\r\n from threading import Thread\r\n\r\n SERVER = server.Server(password=\"PASSWORD\")\r\n\r\n def ON_CLIENT_CONNECT(client):\r\n # send a message to client on connect by clientSocket\r\n SERVER.sendTo(client[\"clientSocket\"], {\"METHOD\": \"HELLO\"})\r\n\r\n def ON_CLIENT_DISCONNECT(client):\r\n pass\r\n\r\n def ON_RECEIVE(client, data):\r\n METHOD = data[\"METHOD\"]\r\n\r\n SERVER.ON_CLIENT_CONNECT(ON_CLIENT_CONNECT)\r\n SERVER.ON_CLIENT_DISCONNECT(ON_CLIENT_DISCONNECT)\r\n SERVER.ON_RECEIVE(ON_RECEIVE)\r\n\r\n Thread(target=SERVER.start, args=[\"HOST-IP\", 15749]).start()\r\n\r\n # send a message to client by clientID\r\n SERVER.sendToClient(\"MY_CLIENT_ID\", {\"METHOD\": \"TEST\", \"mydata\": \"123\"})\r\n..\r\n\r\n Client\r\n\r\n.. code:: python\r\n\r\n from pythontools.sockets import client\r\n from threading import Thread\r\n\r\n CLIENT = client.Client(password=\"PASSWORD\", clientID=\"MY_CLIENT_ID\", clientType=\"CLIENT\")\r\n\r\n def ON_CONNECT():\r\n pass\r\n\r\n def ON_RECEIVE(data):\r\n METHOD = data[\"METHOD\"]\r\n # recipe the test message\r\n if METHOD == \"TEST\":\r\n print(\"test:\", data[\"mydata\"])\r\n\r\n CLIENT.ON_CONNECT(ON_CONNECT)\r\n CLIENT.ON_RECEIVE(ON_RECEIVE)\r\n\r\n Thread(target=CLIENT.connect, args=[\"HOST-IP\", 15749]).start()\r\n\r\n\r\nWebBot\r\n===========\r\n\r\n Download chromedriver or geckodriver\r\n - https://chromedriver.chromium.org/downloads\r\n - https://github.com/mozilla/geckodriver/releases\r\n\r\n.. code:: python\r\n\r\n from pythontools.webbot import webbot\r\n\r\n # Google Chrome\r\n browser = webbot.WebBot().Chrome(chromedriver=\"chromedriver.exe\")\r\n # Firefox\r\n browser = webbot.WebBot().Firefox(geckodriver=\"geckodriver.exe\")\r\n browser.get(\"https://www.google.com/\")\r\n\r\n browser.input('//*[@id=\"tsf\"]/div[2]/div[1]/div[1]/div/div[2]/input', \"what is python?\")\r\n browser.click('//*[@id=\"tsf\"]/div[2]/div[1]/div[2]/div[2]/div[2]/center/input[1]')\r\n\r\n time.sleep(10)\r\n\r\n browser.close()\r\n\r\n\r\n", "description_content_type": "text/x-rst", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/CrawlerCode", "keywords": "", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "CrawlerCodePythonTools", "package_url": "https://pypi.org/project/CrawlerCodePythonTools/", "platform": null, "project_url": "https://pypi.org/project/CrawlerCodePythonTools/", "project_urls": { "Homepage": "https://github.com/CrawlerCode" }, "release_url": "https://pypi.org/project/CrawlerCodePythonTools/1.5.4/", "requires_dist": null, "requires_python": "", "summary": "Tools for Python", "version": "1.5.4", "yanked": false, "yanked_reason": null }, "last_serial": 13403405, "releases": { "1.1.0": [ { "comment_text": "", "digests": { "md5": "6a540215be3d86a7e13197d4c9c99caa", "sha256": "59403310ec524a14c467d12f4920d676108e83d336d0a06f3d4cbbc63ff78e98" }, "downloads": -1, "filename": "CrawlerCodePythonTools-1.1.0.tar.gz", "has_sig": false, "md5_digest": "6a540215be3d86a7e13197d4c9c99caa", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 379918, "upload_time": "2019-12-14T17:45:26", "upload_time_iso_8601": "2019-12-14T17:45:26.944405Z", "url": "https://files.pythonhosted.org/packages/4b/e8/00186d17766fad94d25a9ee1d4b48da3b43af8eda81bf1fdbf79d4a88684/CrawlerCodePythonTools-1.1.0.tar.gz", "yanked": false, "yanked_reason": null } ], "1.1.1": [ { "comment_text": "", "digests": { "md5": "99df58abc1db65d1256fbe85d43e18ee", "sha256": "e9d64ac2c041fae658be6e78b537e9c498145f1ac5faeeeda17331812ca8d874" }, "downloads": -1, "filename": "CrawlerCodePythonTools-1.1.1.tar.gz", "has_sig": false, "md5_digest": "99df58abc1db65d1256fbe85d43e18ee", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 379951, "upload_time": "2019-12-16T12:08:42", "upload_time_iso_8601": "2019-12-16T12:08:42.330524Z", "url": "https://files.pythonhosted.org/packages/75/38/1d5c32c8d7d2630340b3607f55fade99420821cafd6e92882e8f2fd59d91/CrawlerCodePythonTools-1.1.1.tar.gz", "yanked": false, "yanked_reason": null } ], "1.1.10": [ { "comment_text": "", "digests": { "md5": "4b9fafb253d321efb2e7542dd636116c", "sha256": "b9ccee9126ee627ed2be56f08200ef01e5e025a46ed9364fba368f50b45a8570" }, "downloads": -1, "filename": "CrawlerCodePythonTools-1.1.10.tar.gz", "has_sig": false, "md5_digest": "4b9fafb253d321efb2e7542dd636116c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 381605, "upload_time": "2020-02-14T21:33:15", "upload_time_iso_8601": "2020-02-14T21:33:15.777245Z", "url": "https://files.pythonhosted.org/packages/e0/ff/5cdd921502bb69afcb048cc0ff736472ef6011ceab10c16bf89335eafe1d/CrawlerCodePythonTools-1.1.10.tar.gz", "yanked": false, "yanked_reason": null } ], "1.1.11": [ { "comment_text": "", "digests": { "md5": "8ba60d0a692afb84edd18508e311078f", "sha256": "c24acd797f46d11d55f591a290b025932ba037e737c1211f9aadb9ac758eb90b" }, "downloads": -1, "filename": "CrawlerCodePythonTools-1.1.11.tar.gz", "has_sig": false, "md5_digest": "8ba60d0a692afb84edd18508e311078f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 382591, "upload_time": "2020-02-15T11:30:53", "upload_time_iso_8601": "2020-02-15T11:30:53.378752Z", "url": "https://files.pythonhosted.org/packages/40/04/bb4d5761cbee381635e80ca3b454800e03e82a1540ea371768dae322e270/CrawlerCodePythonTools-1.1.11.tar.gz", "yanked": false, "yanked_reason": null } ], "1.1.2": [ { "comment_text": "", "digests": { "md5": "95fc54a736987d48376c5f21a73a47e5", "sha256": "87e46ad748977b3cafa863407b925b0a0340c49063d4bab4d6baa1282492c577" }, "downloads": -1, "filename": "CrawlerCodePythonTools-1.1.2.tar.gz", "has_sig": false, "md5_digest": "95fc54a736987d48376c5f21a73a47e5", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 380566, "upload_time": "2019-12-16T12:10:39", "upload_time_iso_8601": "2019-12-16T12:10:39.132168Z", "url": "https://files.pythonhosted.org/packages/21/6d/7c5602886b887baef84433fcf7fa26a04578033a22dca73b66192c6947b2/CrawlerCodePythonTools-1.1.2.tar.gz", "yanked": false, "yanked_reason": null } ], "1.1.3": [ { "comment_text": "", "digests": { "md5": "3ae65228d3aa805d3ff53fb9c4a39a31", "sha256": "1947f3468dc571e8b90df0ec100d1c9fa2ee1b038d7d3e939905d4d474e2982e" }, "downloads": -1, "filename": "CrawlerCodePythonTools-1.1.3.tar.gz", "has_sig": false, "md5_digest": "3ae65228d3aa805d3ff53fb9c4a39a31", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 380608, "upload_time": "2019-12-16T15:13:46", "upload_time_iso_8601": "2019-12-16T15:13:46.598989Z", "url": "https://files.pythonhosted.org/packages/6a/51/da140d228034207baaf2db87d17ed6b418390cdb4b9b4cf383e5bd18db42/CrawlerCodePythonTools-1.1.3.tar.gz", "yanked": false, "yanked_reason": null } ], "1.1.4": [ { "comment_text": "", "digests": { "md5": "7e5859f6a5f565bb05aa038c24fed8f0", "sha256": "8d48ad36c4d0fe59596d671347b102f0e439b9d2ab4ba1b13c8e98f08fecc48c" }, "downloads": -1, "filename": "CrawlerCodePythonTools-1.1.4.tar.gz", "has_sig": false, "md5_digest": "7e5859f6a5f565bb05aa038c24fed8f0", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 380643, "upload_time": "2019-12-16T15:34:35", "upload_time_iso_8601": "2019-12-16T15:34:35.112238Z", "url": "https://files.pythonhosted.org/packages/97/35/1aa0ccf7e7adb97ecbf3a3dd94a64fdcd8a7bf27ea85f25b710cc880984c/CrawlerCodePythonTools-1.1.4.tar.gz", "yanked": false, "yanked_reason": null } ], "1.1.5": [ { "comment_text": "", "digests": { "md5": "bb2d7ed009ec6aa7e0523a2afb3cd76a", "sha256": "b6999fd52d0187a937aa8460317c1d53cbbef130b2ce5514f87391b20ebbd5cb" }, "downloads": -1, "filename": "CrawlerCodePythonTools-1.1.5.tar.gz", "has_sig": false, "md5_digest": "bb2d7ed009ec6aa7e0523a2afb3cd76a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 380657, "upload_time": "2019-12-16T15:59:07", "upload_time_iso_8601": "2019-12-16T15:59:07.704431Z", "url": "https://files.pythonhosted.org/packages/1a/1c/c26bcd887a485ceac6e90818d794122c50cbf2647a740588439303eb7b1a/CrawlerCodePythonTools-1.1.5.tar.gz", "yanked": false, "yanked_reason": null } ], "1.1.6": [ { "comment_text": "", "digests": { "md5": "84454c9c95f19d5028b44c4ff7b9013b", "sha256": "725eb6969038208abab1f6809a5cadaf21819891b9e82533a0e881e888a73b74" }, "downloads": -1, "filename": "CrawlerCodePythonTools-1.1.6.tar.gz", "has_sig": false, "md5_digest": "84454c9c95f19d5028b44c4ff7b9013b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 380718, "upload_time": "2019-12-17T16:45:43", "upload_time_iso_8601": "2019-12-17T16:45:43.654788Z", "url": "https://files.pythonhosted.org/packages/d0/d9/f8f5da129aa8604c03f2528a23f23008d0f832028d1ec101dad6b87758e5/CrawlerCodePythonTools-1.1.6.tar.gz", "yanked": false, "yanked_reason": null } ], "1.1.7": [ { "comment_text": "", "digests": { "md5": "fa38c0c5ccf1c8343456eaa09e97239a", "sha256": "5922e80b5a04d8b5975fc32b707732e67fc5467a7ac216f9a354eff1509568d7" }, "downloads": -1, "filename": "CrawlerCodePythonTools-1.1.7.tar.gz", "has_sig": false, "md5_digest": "fa38c0c5ccf1c8343456eaa09e97239a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 380784, "upload_time": "2019-12-20T17:58:29", "upload_time_iso_8601": "2019-12-20T17:58:29.748277Z", "url": "https://files.pythonhosted.org/packages/8b/5d/532101ade64909543a1757fc57d5fe542188f7397ecb4621f97c023b9def/CrawlerCodePythonTools-1.1.7.tar.gz", "yanked": false, "yanked_reason": null } ], "1.1.8": [ { "comment_text": "", "digests": { "md5": "3f9ca367627b009ef41187730d3adadd", "sha256": "73fee5ebd04a2b85c2d70f374eb0d071b4b5ab549385d5f5269fff29d2374dc8" }, "downloads": -1, "filename": "CrawlerCodePythonTools-1.1.8.tar.gz", "has_sig": false, "md5_digest": "3f9ca367627b009ef41187730d3adadd", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 380879, "upload_time": "2019-12-30T17:07:49", "upload_time_iso_8601": "2019-12-30T17:07:49.767060Z", "url": "https://files.pythonhosted.org/packages/18/31/ed94871c6be0a014157030e484650ee0dc4151e79390baedbf70d7ec9e97/CrawlerCodePythonTools-1.1.8.tar.gz", "yanked": false, "yanked_reason": null } ], "1.1.9": [ { "comment_text": "", "digests": { "md5": "e36f0f6cacf890d6af924bbf931f50ab", "sha256": "69df670336abc2bcc2140e3237f71f6ac366180d68bb70a90a17ff2fa149b2f6" }, "downloads": -1, "filename": "CrawlerCodePythonTools-1.1.9.tar.gz", "has_sig": false, "md5_digest": "e36f0f6cacf890d6af924bbf931f50ab", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 381024, "upload_time": "2020-02-13T13:46:58", "upload_time_iso_8601": "2020-02-13T13:46:58.525175Z", "url": "https://files.pythonhosted.org/packages/a9/73/5c31579656d5f8ac9c9dd007a3ad1a9e5d4589a351abf6f727c226e09b75/CrawlerCodePythonTools-1.1.9.tar.gz", "yanked": false, "yanked_reason": null } ], "1.2.0": [ { "comment_text": "", "digests": { "md5": "5cfd7928444b25c35592a6644ddba22a", "sha256": "3e72e7ec5d3d01a3d0e1cdb68b9e1f1315bf6cae4fe07079d0f613c5b968196e" }, "downloads": -1, "filename": "CrawlerCodePythonTools-1.2.0.tar.gz", "has_sig": false, "md5_digest": "5cfd7928444b25c35592a6644ddba22a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 380106, "upload_time": "2020-04-14T08:39:56", "upload_time_iso_8601": "2020-04-14T08:39:56.471267Z", "url": "https://files.pythonhosted.org/packages/da/f2/6ed7af457014dc6057891ebe854f79c625fe81f6b5c6c6212fe3aa5769b8/CrawlerCodePythonTools-1.2.0.tar.gz", "yanked": false, "yanked_reason": null } ], "1.2.1": [ { "comment_text": "", "digests": { "md5": "6ea867467a5d23648c20cd87ec020e8e", "sha256": "05f0b0ff80c4dfac9a45f1e28526cbc621347ec0dc495344b573f03d191f1194" }, "downloads": -1, "filename": "CrawlerCodePythonTools-1.2.1.tar.gz", "has_sig": false, "md5_digest": "6ea867467a5d23648c20cd87ec020e8e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 379800, "upload_time": "2020-04-14T09:33:46", "upload_time_iso_8601": "2020-04-14T09:33:46.094840Z", "url": "https://files.pythonhosted.org/packages/38/91/91d548ab08ab4f76fe20d36bdadc967613d96689ad67b118e363126ea227/CrawlerCodePythonTools-1.2.1.tar.gz", "yanked": false, "yanked_reason": null } ], "1.2.10": [ { "comment_text": "", "digests": { "md5": "c4b38068d97a42b7f46ae4ca0b22941b", "sha256": "42a7571b862685b373e22005e80506326341bcabfa699cfa5b77b85073b2cc27" }, "downloads": -1, "filename": "CrawlerCodePythonTools-1.2.10.tar.gz", "has_sig": false, "md5_digest": "c4b38068d97a42b7f46ae4ca0b22941b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 380184, "upload_time": "2020-05-20T18:06:05", "upload_time_iso_8601": "2020-05-20T18:06:05.561472Z", "url": "https://files.pythonhosted.org/packages/58/32/23a77d13b4a63dff2ed3363683bced1f0b4e1ae08cbd63ca9182b2d0c0aa/CrawlerCodePythonTools-1.2.10.tar.gz", "yanked": false, "yanked_reason": null } ], "1.2.11": [ { "comment_text": "", "digests": { "md5": "519194c3b94013f4b9a4dd2306679973", "sha256": "3bbea835389bce2b1644e52ab18d1706598157ee896015e5e1c7c88d83f6b225" }, "downloads": -1, "filename": "CrawlerCodePythonTools-1.2.11.tar.gz", "has_sig": false, "md5_digest": "519194c3b94013f4b9a4dd2306679973", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 380506, "upload_time": "2020-05-31T14:06:07", "upload_time_iso_8601": "2020-05-31T14:06:07.635213Z", "url": "https://files.pythonhosted.org/packages/be/2e/2f4c590a5f2dd29842641c5e4b91008acf6a9bc69b6e553c56402b0f7faa/CrawlerCodePythonTools-1.2.11.tar.gz", "yanked": false, "yanked_reason": null } ], "1.2.12": [ { "comment_text": "", "digests": { "md5": "a3ad1e1d78dfb8011162e81ffe4c8557", "sha256": "4bbd2cb36f9a6bf16000121e216d1fc48f4f6bf5327813c0c4116677c0b8765d" }, "downloads": -1, "filename": "CrawlerCodePythonTools-1.2.12.tar.gz", "has_sig": false, "md5_digest": "a3ad1e1d78dfb8011162e81ffe4c8557", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 380595, "upload_time": "2020-06-17T13:19:03", "upload_time_iso_8601": "2020-06-17T13:19:03.139298Z", "url": "https://files.pythonhosted.org/packages/0d/82/06000316528685f8434170e9f33b04511fbdab18115d95b5c83c957baf95/CrawlerCodePythonTools-1.2.12.tar.gz", "yanked": false, "yanked_reason": null } ], "1.2.2": [ { "comment_text": "", "digests": { "md5": "9d3fcd92ec6a50957e97a327203a3d07", "sha256": "7818d2aff9e05d12f0258e5e6afbf0fbb3b6b6d3f91b6c7864de7e12acfb93f4" }, "downloads": -1, "filename": "CrawlerCodePythonTools-1.2.2.tar.gz", "has_sig": false, "md5_digest": "9d3fcd92ec6a50957e97a327203a3d07", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3289, "upload_time": "2020-04-16T09:26:55", "upload_time_iso_8601": "2020-04-16T09:26:55.502321Z", "url": "https://files.pythonhosted.org/packages/cf/7e/6a34f3e33b44b33c9822df36857d127b85ae30e1f3e0bd3d4a0a0a4156a1/CrawlerCodePythonTools-1.2.2.tar.gz", "yanked": false, "yanked_reason": null } ], "1.2.3": [ { "comment_text": "", "digests": { "md5": "c0c4caa87175064b630b1fb9b0304c42", "sha256": "9141cb07931597344347db972d60d310b3d873549e358cf4d1405cb4e388845c" }, "downloads": -1, "filename": "CrawlerCodePythonTools-1.2.3.tar.gz", "has_sig": false, "md5_digest": "c0c4caa87175064b630b1fb9b0304c42", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3279, "upload_time": "2020-04-16T09:34:04", "upload_time_iso_8601": "2020-04-16T09:34:04.343206Z", "url": "https://files.pythonhosted.org/packages/e7/39/813b4804c1003fe202b12aad7e1d958617963c73e46891a27d42f72f92cf/CrawlerCodePythonTools-1.2.3.tar.gz", "yanked": false, "yanked_reason": null } ], "1.2.4": [ { "comment_text": "", "digests": { "md5": "d94f8f35b7b3c74c486568b71d1a0e8a", "sha256": "0918c23282b3130fc0955b71ec8111eedd1e116a90dd53dd5f40265cceae0d5c" }, "downloads": -1, "filename": "CrawlerCodePythonTools-1.2.4.tar.gz", "has_sig": false, "md5_digest": "d94f8f35b7b3c74c486568b71d1a0e8a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 379795, "upload_time": "2020-04-16T09:36:42", "upload_time_iso_8601": "2020-04-16T09:36:42.152567Z", "url": "https://files.pythonhosted.org/packages/87/cf/056fde7842c5d892001fbe41d15734cdf3992cb77f5e58b6f7ea71f11b19/CrawlerCodePythonTools-1.2.4.tar.gz", "yanked": false, "yanked_reason": null } ], "1.2.5": [ { "comment_text": "", "digests": { "md5": "5b68c971d7434af0609a7cd3cfbfb48f", "sha256": "bb5d45d389fe075999405916ec1ff96f26f9294b7f1a54dfa08bdc162fa2660c" }, "downloads": -1, "filename": "CrawlerCodePythonTools-1.2.5.tar.gz", "has_sig": false, "md5_digest": "5b68c971d7434af0609a7cd3cfbfb48f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 379855, "upload_time": "2020-05-04T10:48:25", "upload_time_iso_8601": "2020-05-04T10:48:25.048853Z", "url": "https://files.pythonhosted.org/packages/1c/fa/7f58eefa2afcfdcea8d0143a27b7d854fc2efad8531d8eed867efe7e6741/CrawlerCodePythonTools-1.2.5.tar.gz", "yanked": false, "yanked_reason": null } ], "1.2.6": [ { "comment_text": "", "digests": { "md5": "ef3ea71972c3af9082de2caea4720f4e", "sha256": "f35ed08d9880129028e172c13353addcc5db91a95564ccf8065d9cbd344980f5" }, "downloads": -1, "filename": "CrawlerCodePythonTools-1.2.6.tar.gz", "has_sig": false, "md5_digest": "ef3ea71972c3af9082de2caea4720f4e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 379814, "upload_time": "2020-05-06T16:24:48", "upload_time_iso_8601": "2020-05-06T16:24:48.968858Z", "url": "https://files.pythonhosted.org/packages/1e/7a/bc98a1344e91a1ea593f99bf0bfb66cae1ef006855e701f963c1546854ab/CrawlerCodePythonTools-1.2.6.tar.gz", "yanked": false, "yanked_reason": null } ], "1.2.7": [ { "comment_text": "", "digests": { "md5": "9028c1d61e963fd8672672b40d815e62", "sha256": "171bce6d280b298b96bb9f371136225a9e5591a3982c1f1cef5c48c77ed2dcb7" }, "downloads": -1, "filename": "CrawlerCodePythonTools-1.2.7.tar.gz", "has_sig": false, "md5_digest": "9028c1d61e963fd8672672b40d815e62", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 379860, "upload_time": "2020-05-06T16:35:53", "upload_time_iso_8601": "2020-05-06T16:35:53.170299Z", "url": "https://files.pythonhosted.org/packages/ed/be/87737a550dfd9b30aa0f07b825222c9765f381250c02fc35d6505aadc158/CrawlerCodePythonTools-1.2.7.tar.gz", "yanked": false, "yanked_reason": null } ], "1.2.8": [ { "comment_text": "", "digests": { "md5": "c61b883398e08f6db92efd20301a6f89", "sha256": "b0009d54cea6e961b15b1ce08ef3348784b34e26fdcffcbb83fe920086cba7a9" }, "downloads": -1, "filename": "CrawlerCodePythonTools-1.2.8.tar.gz", "has_sig": false, "md5_digest": "c61b883398e08f6db92efd20301a6f89", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 379896, "upload_time": "2020-05-10T18:28:56", "upload_time_iso_8601": "2020-05-10T18:28:56.936765Z", "url": "https://files.pythonhosted.org/packages/fe/21/5d81580ae0e7a50bc14cc4a8832f20883f2565d917f7ae60f31edbe751e0/CrawlerCodePythonTools-1.2.8.tar.gz", "yanked": false, "yanked_reason": null } ], "1.2.9": [ { "comment_text": "", "digests": { "md5": "e73758098ef73e8557c5b656a900f825", "sha256": "910d39aef7e938e56c1077dd2987f2297238e5975374d29a8072c442037db6ce" }, "downloads": -1, "filename": "CrawlerCodePythonTools-1.2.9.tar.gz", "has_sig": false, "md5_digest": "e73758098ef73e8557c5b656a900f825", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 380085, "upload_time": "2020-05-19T21:45:37", "upload_time_iso_8601": "2020-05-19T21:45:37.019297Z", "url": "https://files.pythonhosted.org/packages/82/ba/04f70c9e51859fc1a5551309ecdcbf9e7589712128c91454def70a663116/CrawlerCodePythonTools-1.2.9.tar.gz", "yanked": false, "yanked_reason": null } ], "1.3.1": [ { "comment_text": "", "digests": { "md5": "5cdfc6dbbc054f9e3bcccbb644e1b9b2", "sha256": "d592eabb286d7fd969fede5728985462d53c80f49cf2f8faa52fb06f315a1da1" }, "downloads": -1, "filename": "CrawlerCodePythonTools-1.3.1.tar.gz", "has_sig": false, "md5_digest": "5cdfc6dbbc054f9e3bcccbb644e1b9b2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 380573, "upload_time": "2020-06-26T15:44:08", "upload_time_iso_8601": "2020-06-26T15:44:08.499796Z", "url": "https://files.pythonhosted.org/packages/a5/66/b7fe20bd32e69705b37237be2ab05188d8b02b8ad60387ad26f553e7f243/CrawlerCodePythonTools-1.3.1.tar.gz", "yanked": false, "yanked_reason": null } ], "1.3.2": [ { "comment_text": "", "digests": { "md5": "44c87a97f407576c3992174b24658e6f", "sha256": "a86555945b6d12c71fcd3bbfeeab42cba600e16849e2a9bedfa73264e8fecc4c" }, "downloads": -1, "filename": "CrawlerCodePythonTools-1.3.2.tar.gz", "has_sig": false, "md5_digest": "44c87a97f407576c3992174b24658e6f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 380591, "upload_time": "2020-06-26T16:44:44", "upload_time_iso_8601": "2020-06-26T16:44:44.080331Z", "url": "https://files.pythonhosted.org/packages/21/82/b1798d89d46e4c2e172d50605b3d71e0803962b0c3c844ee1dcd9d5483ad/CrawlerCodePythonTools-1.3.2.tar.gz", "yanked": false, "yanked_reason": null } ], "1.3.3": [ { "comment_text": "", "digests": { "md5": "be2ce26a4dbba4e5ff718753fa53045b", "sha256": "f9c2f2f255843c0308d7116314083a75205dd9b2d26437eeca08c53d07928a43" }, "downloads": -1, "filename": "CrawlerCodePythonTools-1.3.3.tar.gz", "has_sig": false, "md5_digest": "be2ce26a4dbba4e5ff718753fa53045b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 381621, "upload_time": "2020-06-28T17:14:31", "upload_time_iso_8601": "2020-06-28T17:14:31.843261Z", "url": "https://files.pythonhosted.org/packages/4f/cb/4a1b46e8ec8c91bb31560adec3fca1985f6b13c6e1efe93c1d84c2b79904/CrawlerCodePythonTools-1.3.3.tar.gz", "yanked": false, "yanked_reason": null } ], "1.3.4": [ { "comment_text": "", "digests": { "md5": "470c8a01b14c858a5f8e712f5252d8f7", "sha256": "0b17e37f619255003b53387e56de6699f2c481a1c9f88ce054f13d03dfc326f5" }, "downloads": -1, "filename": "CrawlerCodePythonTools-1.3.4.tar.gz", "has_sig": false, "md5_digest": "470c8a01b14c858a5f8e712f5252d8f7", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 381645, "upload_time": "2020-06-28T20:01:30", "upload_time_iso_8601": "2020-06-28T20:01:30.879806Z", "url": "https://files.pythonhosted.org/packages/94/44/578ecd7d31f96824667ee665f8fd172d95d606d0a25117e2e06c4b21bb65/CrawlerCodePythonTools-1.3.4.tar.gz", "yanked": false, "yanked_reason": null } ], "1.3.5": [ { "comment_text": "", "digests": { "md5": "e337f66a7df3e847cb5f6aec58748d67", "sha256": "92ebe962fc43817a3275b59ed0afbafcd592119bd94f3c58eea991c7327f0276" }, "downloads": -1, "filename": "CrawlerCodePythonTools-1.3.5.tar.gz", "has_sig": false, "md5_digest": "e337f66a7df3e847cb5f6aec58748d67", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 381662, "upload_time": "2020-07-02T10:50:18", "upload_time_iso_8601": "2020-07-02T10:50:18.687326Z", "url": "https://files.pythonhosted.org/packages/71/50/70417693891ec8838c97c9e44edc0f86813a3f2d1e5142f9cabb2a4cad67/CrawlerCodePythonTools-1.3.5.tar.gz", "yanked": false, "yanked_reason": null } ], "1.3.6": [ { "comment_text": "", "digests": { "md5": "6957a510919f636858c9374fb6763381", "sha256": "ba4baa049b6d75feea5aafee22a7749149bbc42baade9b35ca546c09971699bf" }, "downloads": -1, "filename": "CrawlerCodePythonTools-1.3.6.tar.gz", "has_sig": false, "md5_digest": "6957a510919f636858c9374fb6763381", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 381772, "upload_time": "2020-07-04T14:02:07", "upload_time_iso_8601": "2020-07-04T14:02:07.206052Z", "url": "https://files.pythonhosted.org/packages/21/3f/e8dc66bb7a10a154b0a237815403e13270da2d4da0e84a5f56631ef18b2f/CrawlerCodePythonTools-1.3.6.tar.gz", "yanked": false, "yanked_reason": null } ], "1.3.7": [ { "comment_text": "", "digests": { "md5": "b4cf637d7b831cfe5a4c6013ccbde669", "sha256": "03771fe690613312e11e9e844800b6210b36c6c8a986790deae8bd2c0395ee66" }, "downloads": -1, "filename": "CrawlerCodePythonTools-1.3.7.tar.gz", "has_sig": false, "md5_digest": "b4cf637d7b831cfe5a4c6013ccbde669", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 381178, "upload_time": "2020-07-31T15:39:01", "upload_time_iso_8601": "2020-07-31T15:39:01.559944Z", "url": "https://files.pythonhosted.org/packages/36/c4/9c5d214a81fd8a533a4cd77523e6b17f4e1b0c6a5e266959b02c2fc57e91/CrawlerCodePythonTools-1.3.7.tar.gz", "yanked": false, "yanked_reason": null } ], "1.3.8": [ { "comment_text": "", "digests": { "md5": "a8e94effc5790db494a66b334b3f28f9", "sha256": "252f9ea5ae98ad9d3feb7138963a6a6e904970314891e91b852bfa360128f226" }, "downloads": -1, "filename": "CrawlerCodePythonTools-1.3.8.tar.gz", "has_sig": false, "md5_digest": "a8e94effc5790db494a66b334b3f28f9", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 381232, "upload_time": "2020-10-06T19:52:03", "upload_time_iso_8601": "2020-10-06T19:52:03.971088Z", "url": "https://files.pythonhosted.org/packages/b6/a6/0c5aacf77bcf401f106b1744db3238cdb8e82c9719d565b4217a421f5771/CrawlerCodePythonTools-1.3.8.tar.gz", "yanked": false, "yanked_reason": null } ], "1.3.9": [ { "comment_text": "", "digests": { "md5": "bf972b6d1b4b9a28134e8976bdf78ebf", "sha256": "26e7a9f2160c2b9352ffb73c056bc4c1584a03680807aa7ffcbe179999223749" }, "downloads": -1, "filename": "CrawlerCodePythonTools-1.3.9.tar.gz", "has_sig": false, "md5_digest": "bf972b6d1b4b9a28134e8976bdf78ebf", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 381208, "upload_time": "2020-10-29T14:20:35", "upload_time_iso_8601": "2020-10-29T14:20:35.751707Z", "url": "https://files.pythonhosted.org/packages/fe/76/b645358fa700bcc4fe3001662f51cbf52fff352e11482d34d007df9a0c91/CrawlerCodePythonTools-1.3.9.tar.gz", "yanked": false, "yanked_reason": null } ], "1.4.0": [ { "comment_text": "", "digests": { "md5": "3550ca6db0d75cae97d2fbb176068550", "sha256": "1b72085f08c8830083fa0518caff39d438c2c867aaffa15741245fa0aa09f7ee" }, "downloads": -1, "filename": "CrawlerCodePythonTools-1.4.0.tar.gz", "has_sig": false, "md5_digest": "3550ca6db0d75cae97d2fbb176068550", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 381365, "upload_time": "2021-02-05T18:41:14", "upload_time_iso_8601": "2021-02-05T18:41:14.346950Z", "url": "https://files.pythonhosted.org/packages/35/e8/977f268cfd4ca0951f40a140fdbda0455906664f284a87002e66790cf59d/CrawlerCodePythonTools-1.4.0.tar.gz", "yanked": false, "yanked_reason": null } ], "1.4.1": [ { "comment_text": "", "digests": { "md5": "41d3faad3233c10eb8593fd406199e88", "sha256": "6ee697ce4209180111afb487ee1b9bf629da20134f6e27c1f8a588553d3c28eb" }, "downloads": -1, "filename": "CrawlerCodePythonTools-1.4.1.tar.gz", "has_sig": false, "md5_digest": "41d3faad3233c10eb8593fd406199e88", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 381535, "upload_time": "2021-02-05T20:40:08", "upload_time_iso_8601": "2021-02-05T20:40:08.786461Z", "url": "https://files.pythonhosted.org/packages/2d/32/206fc6df3ffa77772c5d3a31ae08c13053c242a664aef0209423fd3094a9/CrawlerCodePythonTools-1.4.1.tar.gz", "yanked": false, "yanked_reason": null } ], "1.4.2": [ { "comment_text": "", "digests": { "md5": "87c9cec14d5456f86f376b15170b10e8", "sha256": "e4271ef74a6e36aee732be68dbe4ae55de4202c4bd3530c1b6a42223560ddd78" }, "downloads": -1, "filename": "CrawlerCodePythonTools-1.4.2.tar.gz", "has_sig": false, "md5_digest": "87c9cec14d5456f86f376b15170b10e8", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 381953, "upload_time": "2021-02-14T11:46:42", "upload_time_iso_8601": "2021-02-14T11:46:42.666619Z", "url": "https://files.pythonhosted.org/packages/72/bd/e906f1c504a0e8ed9fe7aa889905e081b7fbddc60888366224dfdb7c0683/CrawlerCodePythonTools-1.4.2.tar.gz", "yanked": false, "yanked_reason": null } ], "1.4.3": [ { "comment_text": "", "digests": { "md5": "90daae64f19c574682e57ee9b0e5348a", "sha256": "71dc1e556dc50942d4214f1c09d059906a86e7e72bbfaa1591592ee95a772ce8" }, "downloads": -1, "filename": "CrawlerCodePythonTools-1.4.3.tar.gz", "has_sig": false, "md5_digest": "90daae64f19c574682e57ee9b0e5348a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 381977, "upload_time": "2021-02-28T14:08:29", "upload_time_iso_8601": "2021-02-28T14:08:29.393667Z", "url": "https://files.pythonhosted.org/packages/ec/63/6200792009acbb575098809edc987fa0b4603c7d6547674aa4944a7f80a5/CrawlerCodePythonTools-1.4.3.tar.gz", "yanked": false, "yanked_reason": null } ], "1.4.4": [ { "comment_text": "", "digests": { "md5": "8cee7c00476264e23b8c413c6490bdb7", "sha256": "1524d70adf21332e405a0fd292bf8bc2d4c8d2849bb6cf2434d3ce6ca16d92d5" }, "downloads": -1, "filename": "CrawlerCodePythonTools-1.4.4.tar.gz", "has_sig": false, "md5_digest": "8cee7c00476264e23b8c413c6490bdb7", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 381979, "upload_time": "2021-03-04T19:15:35", "upload_time_iso_8601": "2021-03-04T19:15:35.951352Z", "url": "https://files.pythonhosted.org/packages/0d/42/f227f89b20b9d39b2847a5e0c187832fa70ebc065b264f3151b1efca039f/CrawlerCodePythonTools-1.4.4.tar.gz", "yanked": false, "yanked_reason": null } ], "1.5.0": [ { "comment_text": "", "digests": { "md5": "dd6fad2c01508135a9a33ff2f009b2bf", "sha256": "5458aaa881ee7c933e0da681129f2a893feb332b5de0f15d8e39c5f646929d7d" }, "downloads": -1, "filename": "CrawlerCodePythonTools-1.5.0.tar.gz", "has_sig": false, "md5_digest": "dd6fad2c01508135a9a33ff2f009b2bf", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 383410, "upload_time": "2021-06-16T20:07:53", "upload_time_iso_8601": "2021-06-16T20:07:53.087420Z", "url": "https://files.pythonhosted.org/packages/01/29/9beae816edd73d09adbad53e03b2b1839243a42118fe1a9ca04261828ef9/CrawlerCodePythonTools-1.5.0.tar.gz", "yanked": false, "yanked_reason": null } ], "1.5.1": [ { "comment_text": "", "digests": { "md5": "824dce00841fe6a39d908938fba7b6cf", "sha256": "e83c5e4e44ab2b7c1803cd5f4df7f1ce09c6b4eb5f43c57bb77af1422a3b74c3" }, "downloads": -1, "filename": "CrawlerCodePythonTools-1.5.1.tar.gz", "has_sig": false, "md5_digest": "824dce00841fe6a39d908938fba7b6cf", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 382930, "upload_time": "2021-12-07T20:34:47", "upload_time_iso_8601": "2021-12-07T20:34:47.320549Z", "url": "https://files.pythonhosted.org/packages/76/52/c00fc18df3cba22ef3a339f95b5b01fc67c925f1472e28d24f4889115ef2/CrawlerCodePythonTools-1.5.1.tar.gz", "yanked": false, "yanked_reason": null } ], "1.5.2": [ { "comment_text": "", "digests": { "md5": "00140016f8df024920664b805a32a8fd", "sha256": "8f520ad1d01ea18f812b08febc9bf5ce693691ecba753c29746c463a1593369f" }, "downloads": -1, "filename": "CrawlerCodePythonTools-1.5.2.tar.gz", "has_sig": false, "md5_digest": "00140016f8df024920664b805a32a8fd", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 383042, "upload_time": "2021-12-18T13:28:42", "upload_time_iso_8601": "2021-12-18T13:28:42.422112Z", "url": "https://files.pythonhosted.org/packages/4d/f8/06368b0a93f55c2a9a2ac04d2499b65c654c9be3f3cccc9e9b9c67407f90/CrawlerCodePythonTools-1.5.2.tar.gz", "yanked": false, "yanked_reason": null } ], "1.5.3": [ { "comment_text": "", "digests": { "md5": "651dc640a0fbf1dd34a5975931594ff6", "sha256": "7fc643f947ce2d0a0b6b6e1b398e64f8936192d8755e854acb0a6ba645dc9dd0" }, "downloads": -1, "filename": "CrawlerCodePythonTools-1.5.3.tar.gz", "has_sig": false, "md5_digest": "651dc640a0fbf1dd34a5975931594ff6", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 383115, "upload_time": "2022-01-10T19:34:36", "upload_time_iso_8601": "2022-01-10T19:34:36.742869Z", "url": "https://files.pythonhosted.org/packages/56/8c/fc6a855653be0089dc83fcc825de195054a41581e3b6639f8fcf52202932/CrawlerCodePythonTools-1.5.3.tar.gz", "yanked": false, "yanked_reason": null } ], "1.5.4": [ { "comment_text": "", "digests": { "md5": "b48d4a36a0e7727499b2352e67d9b91b", "sha256": "1e55f7077c29ab5a76a3ae0cbf7b925099b9743114eef582913f56a47cab35a4" }, "downloads": -1, "filename": "CrawlerCodePythonTools-1.5.4.tar.gz", "has_sig": false, "md5_digest": "b48d4a36a0e7727499b2352e67d9b91b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 383053, "upload_time": "2022-04-04T18:59:26", "upload_time_iso_8601": "2022-04-04T18:59:26.207314Z", "url": "https://files.pythonhosted.org/packages/17/76/1d0367c26631de0e57b0973c1851936e0692b85d84576c25f06cacd9c269/CrawlerCodePythonTools-1.5.4.tar.gz", "yanked": false, "yanked_reason": null } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "b48d4a36a0e7727499b2352e67d9b91b", "sha256": "1e55f7077c29ab5a76a3ae0cbf7b925099b9743114eef582913f56a47cab35a4" }, "downloads": -1, "filename": "CrawlerCodePythonTools-1.5.4.tar.gz", "has_sig": false, "md5_digest": "b48d4a36a0e7727499b2352e67d9b91b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 383053, "upload_time": "2022-04-04T18:59:26", "upload_time_iso_8601": "2022-04-04T18:59:26.207314Z", "url": "https://files.pythonhosted.org/packages/17/76/1d0367c26631de0e57b0973c1851936e0692b85d84576c25f06cacd9c269/CrawlerCodePythonTools-1.5.4.tar.gz", "yanked": false, "yanked_reason": null } ], "vulnerabilities": [] }