Coder Social home page Coder Social logo

century's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

Forkers

hertzorg

century's Issues

Add Constructs to help with Unit Testing

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.

Improve Constructs for Dealing with Courses

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.

HTTP gzip Support

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.

Page Load Delay Plugin

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.

Sphinx Documentation for tasks.phonebook

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.

Unloading Plugins

Add support to lib.browser.plugins.Pluggable to dynamically unload plugins.

Put Century on PyPi

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.

HTTP Keep-Alive on HTTPS Requests

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.

Beginner's Tutorials

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.

Remove get_attr/set_attr Methods From Sphinx Documentation

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.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.