{"id":17796638,"url":"https://github.com/ire4ever1190/app4flask","last_synced_at":"2026-05-03T06:35:09.088Z","repository":{"id":108846862,"uuid":"130955093","full_name":"ire4ever1190/app4flask","owner":"ire4ever1190","description":"A flask app to scrape the app4 website then display it is easy to parse structure","archived":false,"fork":false,"pushed_at":"2018-10-01T12:06:27.000Z","size":161,"stargazers_count":3,"open_issues_count":1,"forks_count":1,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-04-02T02:47:17.047Z","etag":null,"topics":["flask"],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ire4ever1190.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2018-04-25T05:29:09.000Z","updated_at":"2023-12-25T03:26:54.000Z","dependencies_parsed_at":"2023-04-01T14:32:30.930Z","dependency_job_id":null,"html_url":"https://github.com/ire4ever1190/app4flask","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/ire4ever1190/app4flask","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ire4ever1190%2Fapp4flask","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ire4ever1190%2Fapp4flask/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ire4ever1190%2Fapp4flask/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ire4ever1190%2Fapp4flask/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ire4ever1190","download_url":"https://codeload.github.com/ire4ever1190/app4flask/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ire4ever1190%2Fapp4flask/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32560705,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-03T03:21:47.309Z","status":"ssl_error","status_checked_at":"2026-05-03T03:21:43.884Z","response_time":103,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["flask"],"created_at":"2024-10-27T11:47:14.146Z","updated_at":"2026-05-03T06:35:09.073Z","avatar_url":"https://github.com/ire4ever1190.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# app4flask\n[![pipeline status](https://gitlab.com/ire4ever1190/app4flask/badges/master/pipeline.svg)](https://gitlab.com/ire4ever1190/app4flask/commits/master)\n=======\n## This is now hosted on gitlab [here](https://gitlab.com/ire4ever1190/app4flask)\n#### THIS DOES NOT WORK ON ITS OWN\n#### YOU MUST HAVE AN APP4 ACCOUNT\n#### FOR THIS TO WORK\nThis is a simple flask server to scrape your timetable from app4 website then display it has a simple to parse webpage so that it can be \ndisplayed in things such has an web app or in things such has conky/rainmeter\n\nTo run first clone this then cd into the dir then run.\n```\nsudo pip install -r requirements.txt\n```\nThen set your schools name from the command line.\nYou find the school name by looking at the app4 url\nhttps://{ This is your school name}.app4.ws\n```\nexport school={{ school name }}\n```\n\nThen to run the server first cd into 'app4flask' then run.\n```\npython app.py\n```\nyour timetable will be served at 127.0.0.1:5000/(user name)/(password)/list\non first time run give it a minute or two so that it can scrape your timetable and add it to the database.\n\nIf you want to host it, you need to set up a uWSGI/nginx config or use gunicorn.\n\n###Using the api\n###---\n\nonce you have successfully installed the flask app and are hosting it somewhere\nyou probably want to start using it. If you want to just view it like a website\nthen just navigate to the index page. If you want to use this in your own \nscript or program then it's very easy to get the info. Here is an example\nto get the current days timetable then to get the first sessions class.\n```\n\u003e\u003e\u003e import requests\n\u003e\u003e\u003e headers = {\"username\": username}\n\u003e\u003e\u003e # Or if you want to update the database has well\n\u003e\u003e\u003e headers = {\"username\": username, \"password\": password, \"update\":\"True\"}\n\u003e\u003e\u003e url = \"http://yoururl/list\"\n\u003e\u003e\u003e r = requests.post(url=url, headers=headers)\n\u003e\u003e\u003e json = r.json()\n\u003e\u003e\u003e print(json[0][\"session1\"][\"info\"][\"class\"])\n\n```\n\nCurrent options\n---\n\n##### /list \nIt returns timetable, \nclassroom, teacher and time.\n(only meant to be accessed from script)\n\n##### /list/(day)\nDisplays a basic list but for a certain day.\n(only meant to be accessed from script)\n\n##### /\nDisplays a form to enter username and password which then displays\nyour timetable in a human readable format.\n\n### Development\n\nTo use the tests you need to run \n```\nsudo pip install -r devrequirements.txt\n```\nThen to run tests you run\n```\ncd app4flask\ntox\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fire4ever1190%2Fapp4flask","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fire4ever1190%2Fapp4flask","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fire4ever1190%2Fapp4flask/lists"}