Welcome To Our Shell

Mister Spy & Souheyl Bypass Shell

Current Path : /home/ift/52_procpy/dataninja/docs/

Linux ift1.ift-informatik.de 5.4.0-216-generic #236-Ubuntu SMP Fri Apr 11 19:53:21 UTC 2025 x86_64
Upload File :
Current File : //home/ift/52_procpy/dataninja/docs/material_procpy.md

(Remark: The old version (with the only one module dyndb.py) is still
in that directory and available: by oc for oa, and oy for ot.)




Installation and example
------------------------

Install Python 2.7 from www.python.org.
Install get-pip.py from the internet.
Add C:\Python27 to the path (Systemeinstellungen -> Umgebungsvariablen)
Copy the files in C:\Python27\Scripts to C:\Python27
Install modules:
   pip install xlwt
   pip install xlrd
   pip install dill
   pip install ws4py
   pip install --no-use-wheel cherrypy
   pip install jsonpickle
   pip install mysql (windows: download installation package from https://pypi.python.org/pypi/MySQL-python/)
Create directory C:\Python27\Lib\procpy
Copy the content of the procpy.zip
   into C:\Python27\Lib\procpy
Copy the files scripts\o* to C:\Python27




ProcPy - what it is
-------------------

ProcPy is a storage system for python objects. It has the
general architecture:

  
  SCRIPTS LAYER:       ot  ot.bat      oa  oa.bat

  CALLER LAYER:        caller.py

  CLIENT LAYER:        prcmanager.py     xlsmanager.py

  DB DRIVER LAYER:     mysqlite.py   mongoconn.py  .....
  
  SERIALIZATION LAYER: objpickle.py



The DB Driver Layer contains the central upsert function which
takes a python object and stores its objpickle'd version
(function objpickle.to_mongo_dict) into the db layer via
a db driver like mysqlite.py. It gets a query_data-function
from the db layer, stores the respective cursor in self,
and offers a next_obj function which re-objectfies the
objpickle'd objects coming from the db layer (function
objpickle.from_mongo_dict).

The Client Layer acts on top of the Storage Layer. Until
now we have two different Client layers:

   1.  prcmanager.py:  Stores and restarts python processes
                       represented by python objects with
                       special object variables JUMP, NEXT, ...

   2.  xlsmanager.py:  Reads, stores and presents data als
                       excel and csv files.


The Caller Layer offers a console layer interface which is 
called by the caller scripts.



1.  Client prcmanager.py
------------------------


The prcmanager is a runtime environment for special python classes.
A prcmanager useable class instance has special object variables:

   self.JUMP          The next method to jump
   self.SLEEP         Sleep time before jumping

A simple example is:


class Test (object):

    def __init__ (self,par):
        self.JUMP = "run"
        self.SLEEP = 13

    def run (self):
        self.QUERY = "Ist das Geraet eingeschaltet?"
        self.JUMP  = "t02"
        self.SLEEP = 10
        
    def t02 (self):
        pass
        


A prcmanager runtime environment runs the instance through
the named functions in the sequence of the self.JUMP settings.

'Between' the function executions, there is the chance to change
object variables in a manner which depends on the runtime environment.


You can run the example testfall.py  (from directory examples)
from everywhere with:

ot    procpy.examples.testfall.Test

Then you ge a test instance  procpy.examples.testfall.Test.001 which you
can proceed by:

ot    procpy.examples.testfall.Test.001

until the process ends up.

It is mandatory to set the environment variable  PROCDB  to a file name, then
the processes will be dumped in that database 'between' the function calls.



2.  Client xlsmanager
---------------------

The xlsmanager handles csv- and excel-files, reads them into the
Data Store, filters data and outputs again in csv- and excel-files
as also onto the console.

First of all, you should set the environment variable PROCDB to a certain
file name in which the data will be stored.

The main API call for the xlsmanager is:

oa  <sourcefile1> <sourcefile2> .... <filter> <template> <sort>

There may be 0 up to n sourcefiles with excel/csv-data (say adressfiles).
The data inside will be stored in the database. The output will be generated
by filtering all entries in the database by <filter>. The <template> replaces
placeholders of the form -<COLUMNNAME>- with the respective values,
<sort> is also a template expression which sorts the output.


The 'field' DEL is special: If it is set, then the entry in the database
will be deleted, unless it is 'M': Then that entry will be merged to
the last row in the csv/xls-file to be entered instead of being
entered itself.

Each entries with the same sort-value will be marked as to be merged by
setting the 'field' DEL to the value 'M'.



==========================================================================


Saurabh meeting minutes:   (201603)


Command:
python –m procpy.loop_tk.py abc xxx.db oh 100x
In above command 
1) procpy.loop_tk.py: is event_machine
2) abc is identifier of complete business process
3) xxx.db is database  file
4) oh is a command 
5) 100 : is time for which process “x” will be put in sleep mode



==========================================================================


Requirements list Renuka:   (201512)



BPM Requirements

1. Graphical Editor
          a. Shapes: 
		Rectangle box, decision Box, Swimlane , Link( arrows etc), Gateways(optional) , Start and End icons, Header/footer(optional) 
		
          b. Worksheet Templates( optional) 
		
          c. Option to "Rearrangement of graph"
		
          d. Font/block resizing option
		
          e. Option to attach docs/files to task
		
          f. Quick Modeling -> Enter the info in text format(say in table) on the fly graph is also created. ( one who has no knowledge on creating workflow , can generate the graph just entering the info in table) 
	
          g. Search option (Optional) 
          h. Import / Export Option
          i. Save Workflow in PDF format
          j. Print Option
          k. Structuring all Processes and Docs/info


2. Database: 

	   a. Webserver (centralized server) / Cloud based
	   b. or can be any database 


3. Publishing: 
           a. publish via html file
           b. Can be Collaborative ( Reader has option to comment on workflow ) 
           c. or email communication option
           d. Supports on different webbrowsers (explorer, chrome, mozilla etc.. ) 





bypass 1.0, Devloped By El Moujahidin (the source has been moved and devloped)
Email: contact@elmoujehidin.net bypass 1.0, Devloped By El Moujahidin (the source has been moved and devloped) Email: contact@elmoujehidin.net