bgw / century Goto Github PK
View Code? Open in Web Editor NEWA Library to Help with Automating and Pulling Data from the Univerisity of Florida's (UF) Website
Home Page: https://pipeep.github.io/Century/
A Library to Help with Automating and Pulling Data from the Univerisity of Florida's (UF) Website
Home Page: https://pipeep.github.io/Century/
We currently almost any testing mechanisms. This is primarily because of the difficulty of testing such an organic system, where results often change based on who is using the library (like when reading a schedule). Still, testing is important. We need a plugin for the the lib.browser.Browser
class, overriding the load_page
method to load in static, local pages to make testing a little easier.
Registrar and ISIS-based task modules will likely have some similar functionality, and as much stuff as possible should be moved into a courses
module. Some work has been done here, but more work should be done towards this, to make it as good as possible.
The HTTP/1.1 protocol supports sending gzipped content to speed up page loads. We should take advantage of this. Ideas on where to start can be found via various sources online. This should be done as a urllib handler if at all possible, allowing maximum portability.
Make a plugin for lib.browser.Browser
to wait either a fixed amount of time, or a variable amount of time (determined by a function call), before loading each page, as to be nicer on UF's servers if we are loading a large number of pages.
It'd be good to have the ability to scrape the page you see after searching for a course number in the "Registration" section, to automate checking for openings in classes.
There's some documentation included in the source for the lib.tasks.phonebook
module and its submodules, but it should be cleaned up and included in the Sphinx documentation.
Add support to lib.browser.plugins.Pluggable
to dynamically unload plugins.
There's a very weak base of a module in lib.tasks.registrar
. This should be fleshed-out and made functional.
PyPi is the standard package index for Python packages. Century should be packaged with setuptools and made available for easy installation through PyPi. Having Century available in other package types, like deb
and rpm
would be nice, but PyPi should be the priority.
Right now, lib.browser.plugins.keepalive
only supports HTTP pages. On HTTPS, Keep-Alive support is disabled. This Keep-Alive support should be added for HTTPS pages, especially since HTTPS is probably the most common protocol we use, and could use the speedup the most.
We need some sort of introductory manual for Century, getting new developers started with simple tutorials and small projects, requiring minimal amounts of code to interest people. The target audience should be someone with a low-to-moderate knowledge of Python. Some features like decorators, if discussed, should be explained briefly, or a link explaining how they work should be included.
For many classes, the Sphinx documentation contains both properties, and the getters (and in some cases, setters) for them. The Sphinx documentation files should be modified to exclude (simple) getter and setter methods. They'll still be there, but in most cases, it just adds clutter and confusion to the documentation.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.