Code Monkey home page Code Monkey logo

electricity-monitor's Introduction

BUPT Electricity Monitor

PyPI TravisCI AppVeyorCI CodacyCoverage Codacy License

Free yourself from the tedious operation, now you can just use a one-line command to view the electricity information of your dormitory.

The data comes from the BUPT Work WeChat. But please notice that this utility tool can only query the dormitory which is located on Xitucheng Campus. The other campuses are not supported at the moment.

FEATURES

  • Get your power data easily, including surplus, voltage, current, power, etc.
  • Calculate available time.

Requirements

  • Python 3

Quick Start

Step 1: Install from PyPI

pip install buptelecmon

Step 2: Set your authorization information

This information is used to log in to the query interface. We won't send your information to other sites.

elecinfo --set-auth

And input your student ID and your password. The password is usually the same as your Information Portal (my.bupt.edu.cn).

Student ID:
Password:

Your authorization information will be saved to ~/.elecmon/elecmon.json.

Step 3: Run it

elecinfo <dormitory-number>

The dormitory-number must be in the correct format (ApartmentNumber-DormitoryNumber, e.g 1-101).

Also, this command tool will remember the dormitory number of the last query. Next time, if you want to query the same dormitory as last query, just type:

elecinfo

Recharge

Use this tool to visit the recharge page directly.

elecinfo --recharge <dormitory-number>

Then, a QR code will be shown on your terminal. Please use your WeChat to scan the QR code and pay for it.

Advanced Usage

Full Command Line

elecinfo [ --version | --set-auth | [--loop] <dormitory-number-1> [... <dormitory-number-n>] | --recharge <dormitory-number>]
Option Description
--version Display the version of this tool.
--set-auth Set your authorization information, as the Quick Start - Step 2 shows.
--loop Repeat querying electricity information every 60 seconds.
--recharge Display a recharge QR code.

Note: Please DO NOT query too many dormitories at the same time or query too frequently, otherwise you may receive HTTP 500 Internal Server Error s from the remote server.

APIs

We allow you to use the APIs to build your applications, for example:

import buptelecmon
em = buptelecmon.electricitymonitor.ElectricityMonitor()
em.login('student_id', 'password')
em.query(['x-xxx'])

For more information, please read the APIs Document.

Screenshot

https://user-images.githubusercontent.com/6760674/43949495-4454d694-9cc0-11e8-88c2-cfd98e2291a6.gif

Changelog

Mon, 13 Aug 2018: 1.2.2 released. Fix a bug that prevent the program from quitting when an exception raises. ๐Ÿ”–

Mon, 13 Aug 2018: 1.2.1 released. Fix documentation error. ๐Ÿ”–

Sun, 12 Aug 2018: 1.2.0 released ๐Ÿ”–

  • Added recharge mode

Sat, 11 Aug 2018: 1.1.0 released ๐Ÿ”–

  • Removed daemon mode
  • Added configuration mode - We don't need to write json file manually anymore
  • Published to PyPI

Fri, 30 Mar 2018: First version. ๐ŸŽ‰

License

This software is distributed under the MIT License.

electricity-monitor's People

Contributors

jerrymakesjelly avatar

Watchers

James Cloos avatar Dim Chen avatar  avatar  avatar

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.