Giter Club home page Giter Club logo

pyrocore's Introduction

pyrocore

A collection of tools for the BitTorrent protocol and especially the rTorrent client. They enable you to filter rTorrent's item list for displaying or changing selected items, also creating, inspecting and changing .torrent files, and much more.

rtcontrol + curses demo

The PyroScope command line utilities are not the same as rTorrent-PS, and they work perfectly fine without it; the same is true the other way 'round. It's just that both unsurprisingly have synergies if used together, and some features do only work when both are present.

Further information can be found in the documentation, specifically:

To get in contact and share your experiences with other users of PyroScope, join the pyroscope-users mailing list or the inofficial ##rtorrent channel on irc.freenode.net.

News

Date    Description
02–May–2015 Started to move the documenation to Read The Docs.
14–Mar–2015 Moved from Google Code to GitHub. Documentation will be in a limbo state and spread over both sites for some time, I'll try to reasonably cross-link.
05–Jun–2011 pyrocore 0.4.2 released.
17–Apr–2011 pyrocore 0.4.1 released.
05–Mar–2011 pyrocore 0.3.10 released.
05–Sep–2010 pyrocore 0.3.7 released, offering automatic classification for completion paths, a working rtmv in symlinked mode, grouping of filter conditions, rTorrent fast-resume support, and better cron logging.
29–Aug–2010 pyrocore 0.3.6 released, featuring more torrent life-cycle fields, selecting into rTorrent views, file listings and filtering based on file type, and finer control over formatting pathname fields.
28–Aug–2010 Published the API documentation in Javadoc style including class diagrams and cross-referenced source code.
20–Aug–2010 pyrocore 0.3.5 released, adding custom attributes and item tagging, and column headers to result listings.
16–Aug–2010 pyrocore 0.3.4 released, with a finished chtor and new rtxmlrpc tool, additional fields containing load and completion time, and action options to delete or throttle items, or put them under manual control.
20–Mar–2010 pyrocore 0.3.3 released, including many new chtor options, and some rtcontrol improvements.
14–Mar–2010 pyrocore 0.3.2 released, allowing you to mass-start/stop items in a selection result.
13–Mar–2010 pyrocore 0.3.1 released, adding filtering, sorting and output formatting to rtcontrol.
08–Mar–2010 pyrocore 0.2.1 released, with new tools chtor and pyroadmin, and a finished configuration system.
19–Feb–2010 First release of pyrocore (v0.1.1), containing the lstor and mktor utilities.

Fork Notes

This fork is a set of small fixes and enhancements in rtorrent config file and template files.

Change Log

  • 21-Jul-2016
  • Include human readable data size info in orphans template (#9)
  • 10-Jul-2016
  • Refactor tm_downloaded methods (#8)
  • 09-Jul-2016
  • Modify filtering, sorting in rtorrent config (#6)
  • Adding ability to use tm_downloaded timestamp custom variable in rtorrent config (#5)
  • Bind key to toggle through selectable themes in rtorrent config (#4)
  • Bind key to send scrape request manually (#3)
  • Regularly send scrape request to trackers (#2)
  • Fix timestamp bugs in rtorrent config file and add a general method to display them (#1)

pyrocore's People

Contributors

chros73 avatar pyroscope avatar

Stargazers

 avatar

Watchers

 avatar  avatar

pyrocore's Issues

Regularly send scrape request to trackers

By default, rtorrent only sends scrape request (that can give back the numbers of peers, seeds, downloads for a specific torrent) to trackers when a torrent is added or the client was restarted. More info here: rakshasa/rtorrent#413
Probably this info only cosmetics but good to see them changing.
Use a custom field (tm_last_scrape) to store the last scrape time to be able to save into session (the inbuilt t.scrape_time_last property is lost upon reboot).
Let's send these requests regularly:

  • try to balance the calls to not fire up them at the same time
  • every 10 minutes for transferring torrents (uploading/downloading)
  • every 12 hours for non-transferring torrents

Use newer 0.9.6 coding style.

Bind key to toggle through selectable themes in rtorrent config

Bind key | to toggle through selectable themes.

  • include all the 256 color themes from rtorrent-ps project (https://github.com/pyroscope/rtorrent-ps/tree/master/docs/examples)
  • include a general pyro.import method with which we can easily import config files from ~/.pyroscope dir
  • add couple of methods that contains the available/desirable themes, e.g. cfg.theme.0
  • use pyro.theme.selected string variable method to store the actual filename is being used
  • apply toggle logic in form of using branches (since we can't write recursive methods in rtorrent config)

Note: the latter means that if a new theme is added to /removed from the available selection then the toggle logic has to be modified as well.

Use partly 0.9.6 coding style.

Important: this change didn't update the setup scripts that should copy the new color config files into ~/.pyroscope dir.

Modify filtering, sorting in rtorrent config

  1. Remove filtering from scheduled command when sorting is also used, since sorting triggers filtering as well (it was triggered twice previously).
  2. Use view_sort_new as well when view_sort_current is used (it will deal with newcomers when view isn't switched).

Fix timestamp bugs in rtorrent config file and add a general method to display them

Bugs:

  1. tm_completed value wasn't created after hash checked data (pyroscope#24)
  2. last_active field gets overwritten after stopping/starting a torrent or restarting rtorrent. This bug was introduced here: pyroscope@e580adc (pyroscope#24)
  3. Fix type of method d.last_active for future compatibility: it should be only simple instead of simple|value (pyroscope#18)

Enhancement:
4. replace d.last_active.print method with a general one that can be used to display all the timestamps (pyroscope#24)

Note: use the old 0.8.6 scripting style.

Refactor tm_downloaded methods

Refactor tm_downloaded methods:

  • modify their names
  • add missing private type
  • add a public method with which we can access to the value of custom variable

Refers to: #5

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.