Skip to content
This repository has been archived by the owner on Aug 12, 2023. It is now read-only.

Contributing to Watcher

Sergio Cambra edited this page Oct 17, 2019 · 3 revisions

Watcher is written in Python, SQLite, Javascript, and HTML. If you know these languages and would like to help feel free to contact @nosmokingbandit or create a post on http://www.reddit.com/r/watcher.

Development is focused on searching/snatching the best release as quickly and efficiently as possible. Anything else is second priority.

A few key points to keep in mind:

  • It is better to write 100 lines of code than import 1000.
  • Simplicity > complexity.
  • Movies are the most important thing. Everything else is a means to that end.
  • Follow the style guide.

Style Guide

All documents submitted to Watcher should follow the style guide. This is a guide and rules are meant to be broken.

Python

Indents shall be four spaces.

Strings shall be formatted with str.format(), never %.

Classes shall be formatted in Pascal case.

Functions and methods shall be formatted in snake_case.

If a method's functionality is not immediately apparent a summary must be included in the docstring.

All quotes shall be single unless required otherwise.

Functions and methods shall return only one data type.

Lines may be as long as you like. Readability is more important than width.

Javascript

Indents shall be four spaces.

Classes shall be formatted in PascalCase.

Functions and methods shall be formatted in snake_case.

All quotes shall be double unless required otherwise.

There shall be no spaces between a function name and its parens and braces my_function(a, b){

We all forget our semi-colons, but always try to remember.

HTML

Indents shall be four spaces.

All nested elements shall be indented.

All closing tags must be on their own line, but can be on the same line as the opening tag if readability is not affected.

Attributes should be written in the order of href, id, class, data-*

Templates may be 'hidden' for javascript rendering by using a <template id="my_template">my_template contents</template> at the bottom of the document.

Clone this wiki locally