diff --git a/schain-cli/.gitignore b/schaincli/.gitignore similarity index 100% rename from schain-cli/.gitignore rename to schaincli/.gitignore diff --git a/schain-cli/README.md b/schaincli/README.md similarity index 100% rename from schain-cli/README.md rename to schaincli/README.md diff --git a/schain-cli/schaincli/__init__.py b/schaincli/__init__.py similarity index 100% rename from schain-cli/schaincli/__init__.py rename to schaincli/__init__.py diff --git a/schain-cli/asdasd.py b/schaincli/asdasd.py similarity index 100% rename from schain-cli/asdasd.py rename to schaincli/asdasd.py diff --git a/schain-cli/schain.xml b/schaincli/schain.xml similarity index 100% rename from schain-cli/schain.xml rename to schaincli/schain.xml diff --git a/schaincli/schaincli/__init__.py b/schaincli/schaincli/__init__.py new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/schaincli/schaincli/__init__.py diff --git a/schain-cli/schaincli/cli.py b/schaincli/schaincli/cli.py similarity index 88% rename from schain-cli/schaincli/cli.py rename to schaincli/schaincli/cli.py index 2248ed7..99d5afb 100644 --- a/schain-cli/schaincli/cli.py +++ b/schaincli/schaincli/cli.py @@ -2,7 +2,8 @@ import click import schainpy import subprocess from multiprocessing import cpu_count -from schaincli import templates +from schaincli.schaincli import templates +from schainpy import controller_api import os import sys import glob @@ -22,7 +23,7 @@ def print_version(ctx, param, value): def main(command, nextcommand, version, xml): """COMMAND LINE INTERFACE FOR SIGNAL CHAIN - JICAMARCA RADIO OBSERVATORY""" if xml is not None: - subprocess.call(['schain --file=' + xml], shell=True) + runFromXML(xml) elif command == 'generate': generate() elif command == 'test': @@ -43,6 +44,7 @@ def main(command, nextcommand, version, xml): else: click.echo('\x1b[6;37;41m[ERROR] - Command is not defined.\x1b[0m') + def basicInputs(): inputs = {} inputs['desc'] = click.prompt('Enter a description', default="A schain project", type=str) @@ -55,6 +57,7 @@ def basicInputs(): inputs['figpath'] = inputs['path'] + '/figs' return inputs + def generate(): inputs = basicInputs() inputs['multiprocess'] = click.confirm('Is this a multiprocess script?') @@ -73,5 +76,23 @@ def generate(): def test(): - print templates.basic.format(name='hola', desc= 'desc', path='path', startDate='0', endDate='0') + print templates.basic.format(name='hola', desc='desc', path='path', startDate='0', endDate='0') click.echo('testing') + + +def runFromXML(filename): + controller = controller_api.ControllerThread() + if not controller.readXml(filename): + return + + plotterObj = controller.useExternalPlotter() + + controller.start() + plotterObj.start() + + print "Finishing all processes ..." + + controller.join(5) + + print "End of script" + return diff --git a/schain-cli/schaincli/templates.py b/schaincli/schaincli/templates.py similarity index 100% rename from schain-cli/schaincli/templates.py rename to schaincli/schaincli/templates.py diff --git a/schain-cli/setup.cfg b/schaincli/setup.cfg similarity index 100% rename from schain-cli/setup.cfg rename to schaincli/setup.cfg diff --git a/schain-cli/setup.py b/schaincli/setup.py similarity index 100% rename from schain-cli/setup.py rename to schaincli/setup.py diff --git a/schain-cli/tests/__init__.py b/schaincli/tests/__init__.py similarity index 100% rename from schain-cli/tests/__init__.py rename to schaincli/tests/__init__.py diff --git a/schain-cli/tests/test_cli.py b/schaincli/tests/test_cli.py similarity index 100% rename from schain-cli/tests/test_cli.py rename to schaincli/tests/test_cli.py diff --git a/schain-cli/tox.ini b/schaincli/tox.ini similarity index 100% rename from schain-cli/tox.ini rename to schaincli/tox.ini diff --git a/schainpy/controller.py b/schainpy/controller.py index 200da90..5a73b70 100644 --- a/schainpy/controller.py +++ b/schainpy/controller.py @@ -1313,9 +1313,9 @@ class Project(): print "Process finished" - def start(self): + def start(self, filename=None): - self.writeXml() + self.writeXml(filename) self.createObjects() self.connectObjects() self.run() diff --git a/schainpy/project.py b/schainpy/project.py new file mode 100644 index 0000000..bdea4c3 --- /dev/null +++ b/schainpy/project.py @@ -0,0 +1,34 @@ +from schainpy.controller import Project + +desc = "A schain project" + +controller = Project() +controller.setup(id='191', name="project", description=desc) + +readUnitConf = controller.addReadUnit(datatype='VoltageReader', + path="/home/nanosat/schain/schainpy", + startDate="1970/01/01", + endDate="2017/12/31", + startTime="00:00:00", + endTime="23:59:59", + online=0, + verbose=1, + walk=1, + ) + +procUnitConf1 = controller.addProcUnit(datatype='VoltageProc', inputId=readUnitConf.getId()) + +opObj11 = procUnitConf1.addOperation(name='ProfileSelector', optype='other') +opObj11.addParameter(name='profileRangeList', value='120,183', format='intlist') + +opObj11 = procUnitConf1.addOperation(name='RTIPlot', optype='other') +opObj11.addParameter(name='wintitle', value='Jicamarca Radio Observatory', format='str') +opObj11.addParameter(name='showprofile', value='0', format='int') +opObj11.addParameter(name='xmin', value='0', format='int') +opObj11.addParameter(name='xmax', value='24', format='int') +opObj11.addParameter(name='figpath', value="/home/nanosat/schain/schainpy/figs", format='str') +opObj11.addParameter(name='wr_period', value='5', format='int') +opObj11.addParameter(name='exp_code', value='22', format='int') + + +controller.start() diff --git a/schainpy/utils/__init__.py b/schainpy/utils/__init__.py new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/schainpy/utils/__init__.py diff --git a/schainpy/utils/colors.py b/schainpy/utils/colors.py new file mode 100644 index 0000000..42d4dbe --- /dev/null +++ b/schainpy/utils/colors.py @@ -0,0 +1,2 @@ +def log(): + pass diff --git a/setup.py b/setup.py index 3fe773f..9ee79e5 100644 --- a/setup.py +++ b/setup.py @@ -32,8 +32,12 @@ setup(name="schainpy", 'schainpy.gui.figures': ['*.png','*.jpg'], }, include_package_data=False, - scripts =['schainpy/gui/schainGUI', - 'schainpy/scripts/schain'], + entry_points={ + 'console_scripts': [ + 'schain = schaincli.schaincli.cli:main', + ], + }, + scripts =['schainpy/gui/schainGUI'], ext_modules=[Extension("cSchain", ["schainpy/model/proc/extensions.c"])], install_requires=[ "scipy >= 0.14.0",