Giter VIP home page Giter VIP logo

PyTis toolbox Readme

This library was originally maintained on SourceForge (sf.net). I will probably try to maintain this project at both locations simultaneously, within .git on

Eventually to be staged via GIT on GitHub, and SVN (Subversion) on SourceForge, the overall structure is about to get a major overhaul, as I begin to allow this to have examples, man pages, an installer, builds, distributions, misc., src, testsuite, etc.

Until I finish getting much of this code migrated into GitHub, though some of them may be outdated, you may be able to find what you are looking for in the original repository at sf.net.

SourceForge Project: https://sourceforge.net/projects/pytis/

SourceForge Repository: https://sourceforge.net/p/pytis/code/HEAD/tree/trunk/

PLEASE READ FIRST.

This library should be updated again soon. For now it is a work in progress. I will try to keep a running list of working, up-to-date programs below, although I am not even going to get to do that until next week.

I wrote many, many of these scripts, very, very long ago, as I learned Python and Linux. I've make scripts all the time to help achieve mundane tasks. Since I've started, I have learned a few one or two of these scripts were unneeded as there are already built in Linux commands. Many others are still useful to this day.

When programmers find themselves doing the same thing over and over again, they write a function, well, in some cases, I've written programs to streamline programming from a higher level. Carpenters and mechanics have toolboxes, this library is mine. I've written useful tools like: copyright - which inspects (recursively if requested) files, and depending on the file extension, which it is already written to handle many of, applies the copyright you've selected appropriately, to pg_diff which works much like diff, or vimdiff, to bulk find and replace programs that will actually find and replace parts of file names, to programs that manage the synchronization of files across many servers.

Now I wish to share them, and to allow them to be expanded upon. Since I've started, I've almost always used 1 and only 1 file as a central class and function library; pytis.py (for Python version < 3) and pytis3.py (for Python version >= 3). I usually use some OO inheritance as well. About a year ago, I also created a single pylib module (and pylib3 for python >= v3) however I try to limit the files within to only absolutely necessary items. Currently there are only 3 files in pylib, and the 2nd imports the 3rd.

Many of my tools need updated; as my central library grew and changed over the years, I haven't kept many of the older scripts up-to-date, so a few of them, though they may have worked fine in the past, will not run until I bring them up-to-date with the new version of the central library.

Again, some of these programs work now, perfectly, and are up-to-date with the current pytis/pytis3 modules, however a few need brought up to date with changes made in that module. In the next week or two, I hope to begin listing which are which, and over the next few months bring all of them up-to-date, or remove incomplete, dead programs.

USAGE/HOWTO

Howto use import from this module.

To allow me to easily move from Python2.x to Python3, I treat PyTis (pytis.py) as a module, however in order to import a local module, path manipulation is required. Below is an example of howto do it command line, then below that is an actual example from a program that actually does it.

(~/gitlab/aws-tools/aws-tools/bin)-> python3 Python 3.4.3 (default, Oct 14 2015, 20:28:29) [GCC 4.8.4] on linux Type "help", "copyright", "credits" or "license" for more information.

import os, sys sys.path.append(os.path.abspath(os.path.join(os.path.dirname(os.curdir),'..'))) from bin import PyTis from pylib3 import awslib

This program needs to import PyTis v3, which imports stuff from the

sub-package pylib3, this program also needs to import from the sub-package

awslib, pylib3.awslib itself, has to import from the parent, pytis3, which it

can only do if the parent directory is a package, turning the parent (bin)

into a package breaks importing pytis3 for this program in the first place

and caused severe circular import errors. To fix this, we have to adjust the

path.

import os, sys sys.path.append(os.path.abspath(os.path.join(os.path.dirname(file),'..')))

Internal

try: #import pytis as PyTis # Shared GPL/PPL License from bin import PyTis # Shared GPL/PPL License from pylib3 import awslib from pylib3 import configobj as COBJ except ImportError as e: # We cannot go any further than this, we can't use the Parser or Logging tool # to display these errors because those very tools are loaded from PyTis. # Therefore, display errors now and exit with an errored exit code. print("This program requires the PyTis python library to run.") print("You may download the PyTis library, or do an SVN checkout from:") print("https://sourceforge.net/projects/pytis/") print("This program should be installed in the bin directory of the PyTis library.") print(str(e)) sys.exit(1)

LICENSE:

This library of tools is released under a license similar to the GPL or MPL, it has been slightly modified. In summary, you must give the original author credit, and leave a copy of the logo in the directory. To view the license in its entirety, go here: http://pytis.com/License/

  • Feel free to download and share this library of tools,
  • Feel free to make fixes or even add-ons; however I retain the right to control what gets added in, or not.

VERSION(s):

May vary, I will get this all under control soon though.

NICENESS:

It appears that the only file that used "ioclass" instead of "ioniceness_class" is pysync, after fixing the merger between pytis on pluto from sourceforge, and GitHub from work, I also need to remember to push these changes to pytis3.py.

Josh Lee's Projects

audio_reviewer icon audio_reviewer

To automate the process of reviewing a set of audio files, then sorting, and taking notes on said audio files.

aws-cli icon aws-cli

Universal Command Line Interface for Amazon Web Services

bersts icon bersts

Bitcoin Exchange Rate System Tray Service

btcdm icon btcdm

JSON-RPC Bitcoind Mediator for linux bitcoind daemon.

gimpy icon gimpy

PDF Report Generator from image maps.

kintipper icon kintipper

A repository for the Reddit bot - "KinTipper"

nsis-walker icon nsis-walker

The app walker will create output to be used in .nsh includes for the NSIS (Nullsoft Scriptable Install System). The .nsh files can then be included in the install and un-install sections.

pytis icon pytis

Toolbox of command line scripts for programmers, linux bash/shell users. 99% of which are written in Python and rely on a signle pytis.py library.

sbash icon sbash

A more secure bash shell - see documentation.

t-clock icon t-clock

Highly configurable Windows taskbar clock

xmlauthd icon xmlauthd

LDAP replacement written in Python. XML based API, stored in MySQL. Contains xmlauth (client) and xmlauthd (server).

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.