From a2ba8821ba458e1f7c60d53bc26987d74c6152b1 Mon Sep 17 00:00:00 2001 From: ksripathi Date: Sun, 30 Jul 2017 22:14:15 +0530 Subject: [PATCH 001/105] fixed db commit issue with migration script --- src/deployment/index.org | 1 + 1 file changed, 1 insertion(+) diff --git a/src/deployment/index.org b/src/deployment/index.org index 2c981e5..3a1d8a6 100755 --- a/src/deployment/index.org +++ b/src/deployment/index.org @@ -282,6 +282,7 @@ def populate_institute(): "values('%s','%s')" %(row[1], row[2])); print "done" cursor2.execute("select * from institute") + connection2.commit() data2 = cursor2.fetchall() for row in data2: print row From 009d501e3faf6c52fe20527dabe53bbf0cb96e38 Mon Sep 17 00:00:00 2001 From: madhavi Date: Sat, 5 Aug 2017 11:28:35 +0530 Subject: [PATCH 002/105] add migration script --- src/deployment/index.org | 115 +++++++++++++++++++++++++++++++++++++-- 1 file changed, 111 insertions(+), 4 deletions(-) diff --git a/src/deployment/index.org b/src/deployment/index.org index 3a1d8a6..a615e36 100755 --- a/src/deployment/index.org +++ b/src/deployment/index.org @@ -272,21 +272,128 @@ def populate_assets(): else: continue -def populate_institute(): +def populate_data(): print "Populating institute table.." cursor1.execute("select * from institute") data = cursor1.fetchall() for row in data: - print "inserting........" cursor2.execute("insert into institute (institute_name, institute_id)" "values('%s','%s')" %(row[1], row[2])); - print "done" cursor2.execute("select * from institute") connection2.commit() data2 = cursor2.fetchall() for row in data2: print row + print "Populating discipline table.." + cursor1.execute("select * from discipline") + data = cursor1.fetchall() + for row in data: + cursor2.execute("insert into discipline (discipline_name, discipline_id)" + "values('%s', '%s')" %(row[1], row[2])); + cursor2.execute("select * from discipline") + connection2.commit() + data2 = cursor2.fetchall() + for row in data2: + print row + + print "Populating name table.." + cursor1.execute("select * from name") + data = cursor1.fetchall() + for row in data: + cursor2.execute("insert into name (name)" + "values('%s')" %(row[1])); + cursor2.execute("select * from name") + connection2.commit() + data2 = cursor2.fetchall() + for row in data2: + print row + + print "Populating email table.." + cursor1.execute("select * from email") + data = cursor1.fetchall() + for row in data: + cursor2.execute("insert into email (email)" + "values('%s')" %(row[1])); + cursor2.execute("select * from email") + connection2.commit() + data2 = cursor2.fetchall() + for row in data2: + print row + + print "Populating developer table.." + cursor1.execute("select * from developer") + data = cursor1.fetchall() + for row in data: + cursor2.execute("insert into developer (name_id, email_id)" + "values(%d, %d)" %(row[1], row[2])); + cursor2.execute("select * from developer") + connection2.commit() + data2 = cursor2.fetchall() + for row in data2: + print row + + print "Populating hosting_info table.." + cursor1.execute("select * from hosting_info") + data = cursor1.fetchall() + for row in data: + cursor2.execute("insert into hosting_info(hosting_status, hosted_url, hosted_on)" + "values('%s', '%s', '%s')" %(row[1], row[2], row[3])); + cursor2.execute("select * from hosting_info") + connection2.commit() + data2 = cursor2.fetchall() + for row in data2: + print row + + print "Populating integration_status table.." + cursor1.execute("select * from integration_status") + data = cursor1.fetchall() + for row in data: + cursor2.execute("insert into integration_status(integration_level)" + "values(%d)" %(row[1])); + cursor2.execute("select * from integration_status") + connection2.commit() + data2 = cursor2.fetchall() + for row in data2: + print row + + + print "Populating experiment table.." + cursor1.execute("select * from experiment") + data = cursor1.fetchall() + for row in data: + cursor2.execute("insert into experiment(exp_name, exp_id, overview, " + "intstatus_id, lb_id, institute_id," + "discipline_id)" + "values('%s', '%s', '%s', %d, '%s', %d, %d)" + %(row[1], row[2], row[3], row[4], row[5], + row[6], row[7] )); + cursor2.execute("select * from experiment") + connection2.commit() + data2 = cursor2.fetchall() + for row in data2: + print row + +''' + print "Populating section table.." + cursor1.execute("select * from section") + data = cursor1.fetchall() + for row in data: + name = row[1].strip(""); + print name + + cursor2.execute("insert into section(name)" + "values(%s)" %(name)); + + cursor2.execute("select * from section") + connection2.commit() + data2 = cursor2.fetchall() + for row in data2: + print row + +''' + + if __name__ == "__main__": connection1 = MySQLdb.connect(host="localhost", user="root", @@ -298,7 +405,7 @@ if __name__ == "__main__": db.create_all(app=create_app(config)) populate_assets() - populate_institute() + populate_data() cursor1.close() connection1.close() cursor2.close() From 90975c49cb8e7f7b7bdba8ae1a6cd67870be6f7a Mon Sep 17 00:00:00 2001 From: madhavi Date: Mon, 7 Aug 2017 13:16:48 +0530 Subject: [PATCH 003/105] add migration steps --- src/deployment/index.org | 181 +++++++-------------------- src/runtime/persistence/entities.org | 6 +- 2 files changed, 45 insertions(+), 142 deletions(-) diff --git a/src/deployment/index.org b/src/deployment/index.org index a615e36..09a1c5c 100755 --- a/src/deployment/index.org +++ b/src/deployment/index.org @@ -211,6 +211,47 @@ post_lab_spec(lab_file_list[0]) #+END_SRC * program to add 'asset_type' entity +** Migration Steps +1) create database lds_old +2) restoring the dump +#+BEGIN_SRC +mysql -u root -p lds_old < lds.sql +#+END_SRC +3) create the schema +#+BEGIN_SRC +create table asset_type(id int(11) auto_increment, asset_type varchar(255) unique, primary key(id)); +select distinct asset_type from asset; +insert into asset_type (asset_type) values("image"); +insert into asset_type (asset_type) values("sources"); +insert into asset_type (asset_type) values("videos"); +rename table asset to assetold; +create table asset(id int(11) auto_increment, path varchar(255) unique, asset_type_id int, primary key(id), foreign key (asset_type_id) references asset_type(id)); +FOREIGN KEY (PersonID) REFERENCES Persons(PersonID) +alter table experiment drop column lb_id; +#+END_SRC +4) update config file with lds_old database +#+BEGIN_SRC +SQLALCHEMY_DATABASE_URI = 'mysql+oursql://root:root@localhost/lds_old' +#+END_SRC +5) run the app +#+BEGIN_SRC +cd build/code/runtime/rest +python app.py +#+END_SRC +6) run the migration script +#+BEGIN_SRC +cd build/code/deployment +python migration.py +#+END_SRC +7) drop table asset_old +#+BEGIN_SRC +drop table asset_old +#+END_SRC +8) backup the new mysql dump +#+BEGIN_SRC +mysqldump -u root -proot lds_old > lds.sql +#+END_SRC +** Migration Script #+BEGIN_SRC python :tangle migrate.py :eval no #!/usr/bin/python @@ -227,7 +268,7 @@ asset_url = "http://localhost:5000" KEY= "defaultkey" def populate_assets(): print "Populating assets table.." - cursor1.execute("select * from asset") + cursor1.execute("select * from assetold") data = cursor1.fetchall() for row in data: @@ -249,7 +290,6 @@ def populate_assets(): 'key': KEY} headers = {'Content-Type': 'application/json'} - print payload print asset_url+"/assets" response = requests.post(asset_url+"/assets", data=json.dumps(payload), @@ -262,7 +302,6 @@ def populate_assets(): 'key': KEY} headers = {'Content-Type': 'application/json'} - print payload print asset_url+"/assets" response = requests.post(asset_url+"/assets", data=json.dumps(payload), @@ -272,154 +311,18 @@ def populate_assets(): else: continue -def populate_data(): - print "Populating institute table.." - cursor1.execute("select * from institute") - data = cursor1.fetchall() - for row in data: - cursor2.execute("insert into institute (institute_name, institute_id)" - "values('%s','%s')" %(row[1], row[2])); - cursor2.execute("select * from institute") - connection2.commit() - data2 = cursor2.fetchall() - for row in data2: - print row - - print "Populating discipline table.." - cursor1.execute("select * from discipline") - data = cursor1.fetchall() - for row in data: - cursor2.execute("insert into discipline (discipline_name, discipline_id)" - "values('%s', '%s')" %(row[1], row[2])); - cursor2.execute("select * from discipline") - connection2.commit() - data2 = cursor2.fetchall() - for row in data2: - print row - - print "Populating name table.." - cursor1.execute("select * from name") - data = cursor1.fetchall() - for row in data: - cursor2.execute("insert into name (name)" - "values('%s')" %(row[1])); - cursor2.execute("select * from name") - connection2.commit() - data2 = cursor2.fetchall() - for row in data2: - print row - - print "Populating email table.." - cursor1.execute("select * from email") - data = cursor1.fetchall() - for row in data: - cursor2.execute("insert into email (email)" - "values('%s')" %(row[1])); - cursor2.execute("select * from email") - connection2.commit() - data2 = cursor2.fetchall() - for row in data2: - print row - - print "Populating developer table.." - cursor1.execute("select * from developer") - data = cursor1.fetchall() - for row in data: - cursor2.execute("insert into developer (name_id, email_id)" - "values(%d, %d)" %(row[1], row[2])); - cursor2.execute("select * from developer") - connection2.commit() - data2 = cursor2.fetchall() - for row in data2: - print row - - print "Populating hosting_info table.." - cursor1.execute("select * from hosting_info") - data = cursor1.fetchall() - for row in data: - cursor2.execute("insert into hosting_info(hosting_status, hosted_url, hosted_on)" - "values('%s', '%s', '%s')" %(row[1], row[2], row[3])); - cursor2.execute("select * from hosting_info") - connection2.commit() - data2 = cursor2.fetchall() - for row in data2: - print row - - print "Populating integration_status table.." - cursor1.execute("select * from integration_status") - data = cursor1.fetchall() - for row in data: - cursor2.execute("insert into integration_status(integration_level)" - "values(%d)" %(row[1])); - cursor2.execute("select * from integration_status") - connection2.commit() - data2 = cursor2.fetchall() - for row in data2: - print row - - - print "Populating experiment table.." - cursor1.execute("select * from experiment") - data = cursor1.fetchall() - for row in data: - cursor2.execute("insert into experiment(exp_name, exp_id, overview, " - "intstatus_id, lb_id, institute_id," - "discipline_id)" - "values('%s', '%s', '%s', %d, '%s', %d, %d)" - %(row[1], row[2], row[3], row[4], row[5], - row[6], row[7] )); - cursor2.execute("select * from experiment") - connection2.commit() - data2 = cursor2.fetchall() - for row in data2: - print row - -''' - print "Populating section table.." - cursor1.execute("select * from section") - data = cursor1.fetchall() - for row in data: - name = row[1].strip(""); - print name - - cursor2.execute("insert into section(name)" - "values(%s)" %(name)); - - cursor2.execute("select * from section") - connection2.commit() - data2 = cursor2.fetchall() - for row in data2: - print row - -''' - - if __name__ == "__main__": connection1 = MySQLdb.connect(host="localhost", user="root", passwd="root", db="lds_old") cursor1 = connection1.cursor() - connection2 = MySQLdb.connect(host="localhost", user="root", - passwd="root", db="lds") - cursor2 = connection2.cursor() db.create_all(app=create_app(config)) populate_assets() - populate_data() cursor1.close() connection1.close() - cursor2.close() - connection2.close() #+END_SRC -#+BEGIN_EXAMPLE -drop table asset_type -create table asset_type(id int(11) auto_increment, asset_type varchar(255) unique, primary key(id)); -select distinct asset_type from asset; -insert into asset_type (asset_type) values("image"); -insert into asset_type (asset_type) values("sources"); -insert into asset_type (asset_type) values("videos"); -#+END_EXAMPLE * Install all dependencies and setup the software Install all dependencies, including the OS related packages, Python packages, setup the database, configure the webserver, and finally deploy the diff --git a/src/runtime/persistence/entities.org b/src/runtime/persistence/entities.org index 2e724fb..14108e3 100755 --- a/src/runtime/persistence/entities.org +++ b/src/runtime/persistence/entities.org @@ -285,9 +285,9 @@ args = {"__tablename__": "experiment", "assets": db.relationship('Asset', secondary=experiments_assets, backref='experiments'), - "lb_id": db.Column(db.Integer, - db.ForeignKey('lab.id'), - unique=False), +# "lb_id": db.Column(db.Integer, +# db.ForeignKey('lab.id'), +# unique=False), "sections": db.relationship('Section', secondary=experiments_sections, From c8eb928eb8c8e731869251756a54f86567761116 Mon Sep 17 00:00:00 2001 From: madhavi Date: Mon, 7 Aug 2017 17:27:19 +0530 Subject: [PATCH 004/105] fix range for integration level --- src/runtime/system/system-interface.org | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/src/runtime/system/system-interface.org b/src/runtime/system/system-interface.org index 19563a8..35dfc2e 100755 --- a/src/runtime/system/system-interface.org +++ b/src/runtime/system/system-interface.org @@ -1541,12 +1541,17 @@ class TestAddDeveloper(TestCase): session = session_cls(key=data_dict['key']) del(data_dict['key']) + IL = data_dict['integration_level'] - integration_status = integration_status_cls(integration_level=data_dict['integration_level']) + if IL in range(0, 6): + int_status = integration_status_cls(integration_level=IL) + else: + current_app.logger.error("Integration Level= %d is not in range 0 to 6" % IL) + abort(500, "Integration Level is not in range 0 to 6") try: current_app.logger.debug("running operation add_integration_status") - integration_status = System.do("add_integration_status", integration_status=integration_status, + integration_status = System.do("add_integration_status", integration_status=int_status, session=session) current_app.logger.debug("completed operation add_integration_status") return integration_status.to_client() @@ -9059,7 +9064,7 @@ class TestGetHosting_Info_by_hosted_url(TestCase): # -*- coding: utf-8 -*- from runtime.system.system import * import datetime -from flask import current_app +from flask import current_app, abort from runtime.config.system_config import KEY #+end_src From 431c83372c624d346a75ef1ba0844a64f9e9ab3d Mon Sep 17 00:00:00 2001 From: Thirumal Ravula Date: Tue, 8 Aug 2017 14:44:21 +0530 Subject: [PATCH 005/105] specifications folder deleted --- ...robotics-virtual-lab-(remote-trigger).json | 36 ---------- .../dump_json_to_lds.py | 44 ------------ .../e98812.json | 28 -------- .../e98813.json | 28 -------- .../e98814.json | 28 -------- .../e98815.json | 28 -------- .../e98816.json | 28 -------- .../e98817.json | 28 -------- .../e98818.json | 28 -------- .../e98819.json | 28 -------- .../biochemistry-virtual-lab-ii.json | 38 ----------- .../dump_json_to_lds.py | 44 ------------ .../biochemistry-virtual-lab-ii/e98782.json | 28 -------- .../biochemistry-virtual-lab-ii/e98783.json | 29 -------- .../biochemistry-virtual-lab-ii/e98784.json | 29 -------- .../biochemistry-virtual-lab-ii/e98785.json | 28 -------- .../biochemistry-virtual-lab-ii/e98786.json | 28 -------- .../biochemistry-virtual-lab-ii/e98787.json | 30 --------- .../biochemistry-virtual-lab-ii/e98788.json | 28 -------- .../biochemistry-virtual-lab-ii/e98789.json | 28 -------- .../biochemistry-virtual-lab-ii/e98790.json | 28 -------- .../biochemistry-virtual-lab-ii/e98791.json | 28 -------- .../bioinformatics-virtual-lab-i.json | 37 ---------- .../dump_json_to_lds.py | 44 ------------ .../bioinformatics-virtual-lab-i/e98862.json | 28 -------- .../bioinformatics-virtual-lab-i/e98863.json | 28 -------- .../bioinformatics-virtual-lab-i/e98864.json | 28 -------- .../bioinformatics-virtual-lab-i/e98865.json | 28 -------- .../bioinformatics-virtual-lab-i/e98866.json | 28 -------- .../bioinformatics-virtual-lab-i/e98867.json | 28 -------- .../bioinformatics-virtual-lab-i/e98868.json | 28 -------- .../bioinformatics-virtual-lab-i/e98869.json | 28 -------- .../bioinformatics-virtual-lab-i/e98870.json | 28 -------- .../bioinformatics-virtual-lab-ii.json | 38 ----------- .../dump_json_to_lds.py | 44 ------------ .../bioinformatics-virtual-lab-ii/e98846.json | 28 -------- .../bioinformatics-virtual-lab-ii/e98847.json | 27 -------- .../bioinformatics-virtual-lab-ii/e98848.json | 28 -------- .../bioinformatics-virtual-lab-ii/e98849.json | 28 -------- .../bioinformatics-virtual-lab-ii/e98850.json | 28 -------- .../bioinformatics-virtual-lab-ii/e98851.json | 28 -------- .../bioinformatics-virtual-lab-ii/e98852.json | 28 -------- .../bioinformatics-virtual-lab-ii/e98853.json | 28 -------- .../bioinformatics-virtual-lab-ii/e98854.json | 28 -------- .../bioinformatics-virtual-lab-iii.json | 38 ----------- .../dump_json_to_lds.py | 44 ------------ .../e98836.json | 29 -------- .../e98837.json | 28 -------- .../e98838.json | 28 -------- .../e98839.json | 28 -------- .../e98840.json | 28 -------- .../e98841.json | 28 -------- .../e98842.json | 28 -------- .../e98843.json | 28 -------- .../e98844.json | 28 -------- .../e98845.json | 28 -------- ...omputer-aided-drug-design-virtual-lab.json | 36 ---------- .../dump_json_to_lds.py | 44 ------------ .../e98820.json | 28 -------- .../e98821.json | 28 -------- .../e98822.json | 29 -------- .../e98823.json | 28 -------- .../e98824.json | 28 -------- .../e98825.json | 28 -------- .../e98826.json | 28 -------- .../e98827.json | 28 -------- .../dump_json_to_lds.py | 44 ------------ .../e99201.json | 28 -------- .../e99202.json | 33 --------- .../e99203.json | 33 --------- .../e99204.json | 33 --------- .../e99205.json | 33 --------- .../e99206.json | 34 ---------- .../e99207.json | 33 --------- .../e99636.json | 32 --------- ...harmonic-motion-and-waves-virtual-lab.json | 41 ------------ .../dump_json_to_lds.py | 44 ------------ .../immunology-virtual-lab-i/e98773.json | 28 -------- .../immunology-virtual-lab-i/e98774.json | 28 -------- .../immunology-virtual-lab-i/e98775.json | 28 -------- .../immunology-virtual-lab-i/e98776.json | 28 -------- .../immunology-virtual-lab-i/e98777.json | 29 -------- .../immunology-virtual-lab-i/e98778.json | 29 -------- .../immunology-virtual-lab-i/e98779.json | 28 -------- .../immunology-virtual-lab-i/e98780.json | 29 -------- .../immunology-virtual-lab-i/e98781.json | 28 -------- .../immunology-virtual-lab-i.json | 38 ----------- .../dump_json_to_lds.py | 44 ------------ .../immunology-virtual-lab-ii/e98764.json | 28 -------- .../immunology-virtual-lab-ii/e98765.json | 28 -------- .../immunology-virtual-lab-ii/e98766.json | 28 -------- .../immunology-virtual-lab-ii/e98767.json | 28 -------- .../immunology-virtual-lab-ii/e98768.json | 28 -------- .../immunology-virtual-lab-ii/e98769.json | 28 -------- .../immunology-virtual-lab-ii/e98770.json | 28 -------- .../immunology-virtual-lab-ii/e98771.json | 28 -------- .../immunology-virtual-lab-ii/e98772.json | 28 -------- .../immunology-virtual-lab-ii.json | 38 ----------- .../dump_json_to_lds.py | 44 ------------ .../laser-optics-virtual-lab/e99185.json | 28 -------- .../laser-optics-virtual-lab/e99186.json | 33 --------- .../laser-optics-virtual-lab/e99187.json | 33 --------- .../laser-optics-virtual-lab/e99188.json | 33 --------- .../laser-optics-virtual-lab/e99189.json | 33 --------- .../laser-optics-virtual-lab/e99190.json | 33 --------- .../laser-optics-virtual-lab/e99191.json | 33 --------- .../laser-optics-virtual-lab.json | 40 ----------- .../dump_json_to_lds.py | 44 ------------ .../mechanics-virtual-lab-(pilot)/e99208.json | 38 ----------- .../mechanics-virtual-lab-(pilot)/e99209.json | 35 ---------- .../mechanics-virtual-lab-(pilot)/e99210.json | 38 ----------- .../mechanics-virtual-lab-(pilot)/e99272.json | 38 ----------- .../mechanics-virtual-lab-(pilot)/e99273.json | 38 ----------- .../mechanics-virtual-lab-(pilot)/e99274.json | 38 ----------- .../mechanics-virtual-lab-(pilot)/e99275.json | 33 --------- .../mechanics-virtual-lab-(pilot)/e99277.json | 38 ----------- .../mechanics-virtual-lab-(pilot).json | 46 ------------- .../dump_json_to_lds.py | 44 ------------ .../microbiology-virtual-lab-i/e99220.json | 33 --------- .../microbiology-virtual-lab-i/e99221.json | 38 ----------- .../microbiology-virtual-lab-i/e99222.json | 38 ----------- .../microbiology-virtual-lab-i/e99223.json | 39 ----------- .../microbiology-virtual-lab-i/e99224.json | 40 ----------- .../microbiology-virtual-lab-i/e99225.json | 38 ----------- .../microbiology-virtual-lab-i/e99226.json | 39 ----------- .../microbiology-virtual-lab-i/e99227.json | 38 ----------- .../microbiology-virtual-lab-i/e99228.json | 38 ----------- .../microbiology-virtual-lab-i/e99229.json | 38 ----------- .../microbiology-virtual-lab-i/e99230.json | 38 ----------- .../microbiology-virtual-lab-i/e99231.json | 39 ----------- .../microbiology-virtual-lab-i.json | 50 -------------- .../microbiology-virtual-lab-ii/e99211.json | 33 --------- .../microbiology-virtual-lab-ii/e99212.json | 38 ----------- .../microbiology-virtual-lab-ii/e99213.json | 38 ----------- .../microbiology-virtual-lab-ii/e99214.json | 39 ----------- .../microbiology-virtual-lab-ii/e99215.json | 38 ----------- .../microbiology-virtual-lab-ii/e99216.json | 38 ----------- .../microbiology-virtual-lab-ii/e99217.json | 38 ----------- .../microbiology-virtual-lab-ii/e99218.json | 38 ----------- .../microbiology-virtual-lab-ii/e99219.json | 38 ----------- .../microbiology-virtual-lab-ii.json | 47 ------------- .../modern-physics-virtual-lab/e99192.json | 28 -------- .../modern-physics-virtual-lab/e99193.json | 33 --------- .../modern-physics-virtual-lab/e99194.json | 30 --------- .../modern-physics-virtual-lab/e99195.json | 33 --------- .../modern-physics-virtual-lab/e99196.json | 33 --------- .../modern-physics-virtual-lab/e99197.json | 33 --------- .../modern-physics-virtual-lab/e99198.json | 33 --------- .../modern-physics-virtual-lab/e99199.json | 31 --------- .../modern-physics-virtual-lab/e99200.json | 33 --------- .../modern-physics-virtual-lab.json | 42 ------------ .../neuron-simulation-lab-(pilot)/e98792.json | 28 -------- .../neuron-simulation-lab-(pilot)/e98793.json | 28 -------- .../neuron-simulation-lab-(pilot)/e98794.json | 28 -------- .../neuron-simulation-lab-(pilot)/e98795.json | 28 -------- .../neuron-simulation-lab-(pilot)/e98796.json | 28 -------- .../neuron-simulation-lab-(pilot)/e98797.json | 28 -------- .../neuron-simulation-lab-(pilot)/e98798.json | 28 -------- .../neuron-simulation-lab-(pilot)/e98799.json | 28 -------- .../neuron-simulation-lab-(pilot)/e98800.json | 28 -------- .../neuron-simulation-lab-(pilot)/e98801.json | 28 -------- .../neuron-simulation-lab-(pilot).json | 38 ----------- .../neurophysiology-(pilot)/e98802.json | 28 -------- .../neurophysiology-(pilot)/e98803.json | 28 -------- .../neurophysiology-(pilot)/e98804.json | 28 -------- .../neurophysiology-(pilot)/e98805.json | 28 -------- .../neurophysiology-(pilot)/e98806.json | 28 -------- .../neurophysiology-(pilot)/e98807.json | 29 -------- .../neurophysiology-(pilot)/e98808.json | 29 -------- .../neurophysiology-(pilot)/e98809.json | 29 -------- .../neurophysiology-(pilot)/e98810.json | 29 -------- .../neurophysiology-(pilot)/e98811.json | 28 -------- .../neurophysiology-(pilot).json | 38 ----------- .../e98855.json | 28 -------- .../e98856.json | 28 -------- .../e98857.json | 27 -------- .../e98858.json | 28 -------- .../e98859.json | 26 ------- .../e98860.json | 28 -------- .../e98861.json | 27 -------- .../e99977.json | 28 -------- .../solid-state-physics-virtual-lab.json | 36 ---------- .../systems-biology-virtual-lab/e98828.json | 28 -------- .../systems-biology-virtual-lab/e98829.json | 28 -------- .../systems-biology-virtual-lab/e98830.json | 28 -------- .../systems-biology-virtual-lab/e98831.json | 28 -------- .../systems-biology-virtual-lab/e98832.json | 28 -------- .../systems-biology-virtual-lab/e98833.json | 28 -------- .../systems-biology-virtual-lab/e98834.json | 28 -------- .../systems-biology-virtual-lab/e98835.json | 28 -------- .../systems-biology-virtual-lab.json | 36 ---------- .../e98713.json | 28 -------- .../e98714.json | 28 -------- .../e98715.json | 28 -------- .../e98716.json | 28 -------- .../e98717.json | 28 -------- .../e98718.json | 28 -------- .../e98719.json | 28 -------- .../e98720.json | 28 -------- .../e98721.json | 28 -------- .../e98722.json | 28 -------- .../e98723.json | 28 -------- ...virtual-electric-circuits-lab-(pilot).json | 39 ----------- .../e98702.json | 29 -------- .../e98703.json | 29 -------- .../e98704.json | 29 -------- .../e98705.json | 29 -------- .../e98706.json | 28 -------- .../e98707.json | 30 --------- .../e98708.json | 29 -------- .../e98709.json | 29 -------- .../e98710.json | 29 -------- .../e98711.json | 29 -------- .../e98712.json | 26 ------- .../e98966.json | 29 -------- ...s-sensor-network-remote-triggered-lab.json | 40 ----------- .../fpga-and-embedded-system-lab/E98637.json | 22 ------ .../dump_json_to_lds.py | 44 ------------ .../fpga-and-embedded-system-lab/e98637.json | 41 ------------ .../fpga-and-embedded-system-lab/e98638.json | 41 ------------ .../fpga-and-embedded-system-lab/e98639.json | 41 ------------ .../fpga-and-embedded-system-lab/e98640.json | 41 ------------ .../fpga-and-embedded-system-lab/e98641.json | 41 ------------ .../fpga-and-embedded-system-lab/e98642.json | 41 ------------ .../fpga-and-embedded-system-lab/e98643.json | 41 ------------ .../fpga-and-embedded-system-lab/e98644.json | 41 ------------ .../fpga-and-embedded-system-lab/e98645.json | 40 ----------- .../fpga-and-embedded-system-lab/e98646.json | 41 ------------ .../fpga-and-embedded-system-lab.json | 48 ------------- .../analytical-lab/analytical-lab.json | 41 ------------ .../analytical-lab/dump_json_to_lds.py | 44 ------------ .../dayalbagh/analytical-lab/e99177.json | 22 ------ .../dayalbagh/analytical-lab/e99178.json | 37 ---------- .../dayalbagh/analytical-lab/e99179.json | 37 ---------- .../dayalbagh/analytical-lab/e99180.json | 37 ---------- .../dayalbagh/analytical-lab/e99181.json | 37 ---------- .../dayalbagh/analytical-lab/e99182.json | 37 ---------- .../dayalbagh/analytical-lab/e99183.json | 37 ---------- .../dayalbagh/analytical-lab/e99184.json | 37 ---------- .../dump_json_to_lds.py | 44 ------------ .../e98636.json | 37 ---------- .../e98894.json | 37 ---------- .../e98895.json | 32 --------- .../e98896.json | 32 --------- .../e99017.json | 37 ---------- .../e99018.json | 37 ---------- .../e99019.json | 35 ---------- .../e99020.json | 36 ---------- .../e99021.json | 37 ---------- .../e99022.json | 35 ---------- .../e99023.json | 37 ---------- .../e99024.json | 37 ---------- .../e99025.json | 37 ---------- .../e99026.json | 37 ---------- .../e99027.json | 37 ---------- .../e99028.json | 37 ---------- .../e99029.json | 36 ---------- .../e99030.json | 37 ---------- .../e99031.json | 37 ---------- .../e99032.json | 37 ---------- .../e99033.json | 35 ---------- .../e99034.json | 35 ---------- .../e99035.json | 35 ---------- .../e99036.json | 35 ---------- .../e99037.json | 32 --------- .../e99038.json | 35 ---------- .../e99039.json | 35 ---------- .../e99040.json | 35 ---------- .../e99041.json | 37 ---------- ...active-design-and-test-in-electronics.json | 67 ------------------- ...g-mechanics-and-strength-of-materials.json | 48 ------------- .../dump_json_to_lds.py | 44 ------------ .../e98990.json | 37 ---------- .../e99667.json | 32 --------- .../e99668.json | 37 ---------- .../e99669.json | 37 ---------- .../e99671.json | 37 ---------- .../e99672.json | 37 ---------- .../e99673.json | 39 ----------- .../e99674.json | 39 ----------- .../e99675.json | 39 ----------- .../e99676.json | 37 ---------- .../circular-dichroism-spectroscopy.json | 38 ----------- .../dump_json_to_lds.py | 44 ------------ .../e98626.json | 28 -------- .../e98627.json | 28 -------- .../e98628.json | 28 -------- .../e98629.json | 28 -------- .../e98630.json | 28 -------- .../e98631.json | 28 -------- .../e98632.json | 28 -------- .../e98633.json | 22 ------ .../e98634.json | 28 -------- .../e98635.json | 28 -------- .../colloid-and-surface-chemistry.json | 37 ---------- .../dump_json_to_lds.py | 44 ------------ .../colloid-and-surface-chemistry/e98748.json | 30 --------- .../colloid-and-surface-chemistry/e98749.json | 30 --------- .../colloid-and-surface-chemistry/e98750.json | 30 --------- .../colloid-and-surface-chemistry/e98751.json | 30 --------- .../colloid-and-surface-chemistry/e98752.json | 30 --------- .../colloid-and-surface-chemistry/e98753.json | 29 -------- .../colloid-and-surface-chemistry/e98754.json | 30 --------- .../colloid-and-surface-chemistry/e98755.json | 30 --------- .../colloid-and-surface-chemistry/e99280.json | 30 --------- .../data-mining/data-mining.json | 38 ----------- .../data-mining/dump_json_to_lds.py | 44 ------------ .../iiit-hyderabad/data-mining/e98555.json | 27 -------- .../iiit-hyderabad/data-mining/e98556.json | 27 -------- .../iiit-hyderabad/data-mining/e98557.json | 27 -------- .../iiit-hyderabad/data-mining/e98558.json | 27 -------- .../iiit-hyderabad/data-mining/e98559.json | 27 -------- .../iiit-hyderabad/data-mining/e98560.json | 27 -------- .../iiit-hyderabad/data-mining/e98561.json | 27 -------- .../iiit-hyderabad/data-mining/e98562.json | 27 -------- .../iiit-hyderabad/data-mining/e98563.json | 27 -------- .../iiit-hyderabad/data-mining/e98564.json | 27 -------- .../iiit-hyderabad/databases/databases.json | 38 ----------- .../databases/dump_json_to_lds.py | 44 ------------ .../iiit-hyderabad/databases/e98575.json | 26 ------- .../iiit-hyderabad/databases/e98576.json | 27 -------- .../iiit-hyderabad/databases/e98577.json | 26 ------- .../iiit-hyderabad/databases/e98578.json | 26 ------- .../iiit-hyderabad/databases/e98579.json | 27 -------- .../iiit-hyderabad/databases/e98580.json | 27 -------- .../iiit-hyderabad/databases/e98581.json | 27 -------- .../iiit-hyderabad/databases/e98582.json | 28 -------- .../iiit-hyderabad/databases/e98583.json | 27 -------- .../iiit-hyderabad/databases/e98584.json | 27 -------- .../dump_json_to_lds.py | 44 ------------ .../electromagnetic-theory/e98565.json | 30 --------- .../electromagnetic-theory/e98566.json | 30 --------- .../electromagnetic-theory/e98567.json | 30 --------- .../electromagnetic-theory/e98568.json | 30 --------- .../electromagnetic-theory/e98569.json | 30 --------- .../electromagnetic-theory/e98570.json | 30 --------- .../electromagnetic-theory/e98571.json | 30 --------- .../electromagnetic-theory/e98572.json | 30 --------- .../electromagnetic-theory/e98573.json | 30 --------- .../electromagnetic-theory/e98574.json | 30 --------- .../electromagnetic-theory.json | 38 ----------- .../dump_json_to_lds.py | 44 ------------ .../geotechnical-engineering/e98751.json | 29 -------- .../geotechnical-engineering.json | 29 -------- .../linux-lab/dump_json_to_lds.py | 44 ------------ .../iiit-hyderabad/linux-lab/e98599.json | 28 -------- .../iiit-hyderabad/linux-lab/e98600.json | 28 -------- .../iiit-hyderabad/linux-lab/e98601.json | 28 -------- .../iiit-hyderabad/linux-lab/e98602.json | 28 -------- .../iiit-hyderabad/linux-lab/e98603.json | 28 -------- .../iiit-hyderabad/linux-lab/e98604.json | 28 -------- .../iiit-hyderabad/linux-lab/e98605.json | 28 -------- .../iiit-hyderabad/linux-lab/e98606.json | 28 -------- .../iiit-hyderabad/linux-lab/e99945.json | 28 -------- .../iiit-hyderabad/linux-lab/linux-lab.json | 37 ---------- .../mobile-robotics/dump_json_to_lds.py | 44 ------------ .../mobile-robotics/e98616.json | 28 -------- .../mobile-robotics/e98617.json | 28 -------- .../mobile-robotics/e98618.json | 28 -------- .../mobile-robotics/e98619.json | 28 -------- .../mobile-robotics/e98620.json | 28 -------- .../mobile-robotics/e98621.json | 28 -------- .../mobile-robotics/e98622.json | 28 -------- .../mobile-robotics/e98623.json | 28 -------- .../mobile-robotics/e98624.json | 28 -------- .../mobile-robotics/e98625.json | 28 -------- .../mobile-robotics/mobile-robotics.json | 38 ----------- .../dump_json_to_lds.py | 44 ------------ .../optical-remote-sensing/e98593.json | 27 -------- .../optical-remote-sensing/e98594.json | 27 -------- .../optical-remote-sensing/e98595.json | 27 -------- .../optical-remote-sensing/e98596.json | 27 -------- .../optical-remote-sensing/e98597.json | 27 -------- .../optical-remote-sensing/e98598.json | 27 -------- .../optical-remote-sensing/e99978.json | 27 -------- .../optical-remote-sensing.json | 35 ---------- .../physical-sciences/dump_json_to_lds.py | 44 ------------ .../physical-sciences/e98732.json | 29 -------- .../physical-sciences/e98733.json | 29 -------- .../physical-sciences/e98734.json | 29 -------- .../physical-sciences/e98735.json | 29 -------- .../physical-sciences/e98736.json | 29 -------- .../physical-sciences/e98737.json | 29 -------- .../physical-sciences/e99269.json | 29 -------- .../physical-sciences/e99477.json | 29 -------- .../physical-sciences/physical-sciences.json | 37 ---------- .../dump_json_to_lds.py | 44 ------------ .../e98607.json | 27 -------- .../e98608.json | 22 ------ .../e98609.json | 27 -------- .../e98610.json | 26 ------- .../e98611.json | 26 ------- .../e98612.json | 27 -------- .../e98613.json | 26 ------- .../e98614.json | 26 ------- .../e98615.json | 27 -------- .../principles-of-programming-languages.json | 37 ---------- .../quantum-chemistry/dump_json_to_lds.py | 44 ------------ .../quantum-chemistry/e98536.json | 29 -------- .../quantum-chemistry/e98537.json | 29 -------- .../quantum-chemistry/e98538.json | 29 -------- .../quantum-chemistry/e98539.json | 29 -------- .../quantum-chemistry/e98540.json | 29 -------- .../quantum-chemistry/e98541.json | 29 -------- .../quantum-chemistry/e98542.json | 29 -------- .../quantum-chemistry/e98543.json | 29 -------- .../quantum-chemistry/e98544.json | 29 -------- .../quantum-chemistry/quantum-chemistry.json | 37 ---------- .../soil-mechanics-lab/dump_json_to_lds.py | 44 ------------ .../soil-mechanics-lab/e98545.json | 29 -------- .../soil-mechanics-lab/e98546.json | 29 -------- .../soil-mechanics-lab/e98547.json | 29 -------- .../soil-mechanics-lab/e98548.json | 29 -------- .../soil-mechanics-lab/e98549.json | 29 -------- .../soil-mechanics-lab/e98550.json | 29 -------- .../soil-mechanics-lab/e98551.json | 29 -------- .../soil-mechanics-lab/e98552.json | 29 -------- .../soil-mechanics-lab/e98553.json | 29 -------- .../soil-mechanics-lab/e98554.json | 29 -------- .../soil-mechanics-lab.json | 38 ----------- .../dump_json_to_lds.py | 44 ------------ .../speech-signal-processing/e98738.json | 29 -------- .../speech-signal-processing/e98739.json | 29 -------- .../speech-signal-processing/e98740.json | 29 -------- .../speech-signal-processing/e98741.json | 28 -------- .../speech-signal-processing/e98742.json | 29 -------- .../speech-signal-processing/e98743.json | 29 -------- .../speech-signal-processing/e98744.json | 28 -------- .../speech-signal-processing/e98745.json | 28 -------- .../speech-signal-processing/e98746.json | 28 -------- .../speech-signal-processing/e98747.json | 29 -------- .../speech-signal-processing.json | 38 ----------- .../structural-dynamics/dump_json_to_lds.py | 44 ------------ .../structural-dynamics/e98517.json | 30 --------- .../structural-dynamics/e98518.json | 30 --------- .../structural-dynamics/e98724.json | 30 --------- .../structural-dynamics/e98725.json | 30 --------- .../structural-dynamics/e98726.json | 30 --------- .../structural-dynamics/e98727.json | 30 --------- .../structural-dynamics/e98728.json | 30 --------- .../structural-dynamics/e98729.json | 30 --------- .../structural-dynamics/e98730.json | 30 --------- .../structural-dynamics/e98731.json | 30 --------- .../structural-dynamics.json | 38 ----------- .../dump_json_to_lds.py | 44 ------------ .../virtual-advanced-vlsi-lab/e98585.json | 29 -------- .../virtual-advanced-vlsi-lab/e98586.json | 29 -------- .../virtual-advanced-vlsi-lab/e98587.json | 29 -------- .../virtual-advanced-vlsi-lab/e98588.json | 29 -------- .../virtual-advanced-vlsi-lab/e98589.json | 29 -------- .../virtual-advanced-vlsi-lab/e98590.json | 29 -------- .../virtual-advanced-vlsi-lab/e98591.json | 29 -------- .../virtual-advanced-vlsi-lab/e98592.json | 29 -------- .../virtual-advanced-vlsi-lab/e99488.json | 29 -------- .../virtual-advanced-vlsi-lab.json | 37 ---------- .../dump_json_to_lds.py | 44 ------------ .../e99042.json | 32 --------- ...g-dsp,fpga,cpld-and-micro-controllers.json | 39 ----------- .../dump_json_to_lds.py | 44 ------------ .../modern-digital-design-lab/e99008.json | 34 ---------- .../modern-digital-design-lab/e99009.json | 39 ----------- .../modern-digital-design-lab/e99010.json | 39 ----------- .../modern-digital-design-lab/e99011.json | 39 ----------- .../modern-digital-design-lab/e99012.json | 39 ----------- .../modern-digital-design-lab/e99013.json | 39 ----------- .../modern-digital-design-lab/e99014.json | 39 ----------- .../modern-digital-design-lab/e99015.json | 39 ----------- .../modern-digital-design-lab/e99016.json | 39 ----------- .../modern-digital-design-lab.json | 47 ------------- .../dump_json_to_lds.py | 44 ------------ .../e98944.json | 37 ---------- .../satellite-image-processing-lab.json | 44 ------------ .../dump_json_to_lds.py | 44 ------------ .../e98932.json | 29 -------- .../e98933.json | 32 --------- .../e98934.json | 32 --------- .../e98935.json | 32 --------- .../e98936.json | 32 --------- .../e98937.json | 32 --------- .../e98938.json | 32 --------- .../e98939.json | 32 --------- .../e98940.json | 32 --------- .../e98941.json | 32 --------- .../e98942.json | 32 --------- .../e98943.json | 32 --------- ...n-transportation-systems-planning-lab.json | 45 ------------- .../bioreactor-modeling-&-simulation-lab.json | 62 ----------------- .../dump_json_to_lds.py | 44 ------------ .../e98893.json | 28 -------- .../e98897.json | 38 ----------- .../e98898.json | 39 ----------- .../e98899.json | 39 ----------- .../e98900.json | 39 ----------- .../e98901.json | 43 ------------ .../e98902.json | 36 ---------- .../e98903.json | 35 ---------- .../e98904.json | 36 ---------- .../e98905.json | 36 ---------- .../e98906.json | 37 ---------- .../e98907.json | 40 ----------- .../e98908.json | 40 ----------- .../e98909.json | 39 ----------- .../e98910.json | 39 ----------- .../e98911.json | 39 ----------- .../e98912.json | 39 ----------- .../e98913.json | 36 ---------- .../e98914.json | 37 ---------- .../e98915.json | 37 ---------- .../e98916.json | 37 ---------- .../e98917.json | 37 ---------- .../e98918.json | 37 ---------- .../e98919.json | 41 ------------ .../dump_json_to_lds.py | 44 ------------ .../e98763.json | 43 ------------ .../engineering-electromagnetic-lab.json | 44 ------------ .../E98756.json | 19 ------ .../dump_json_to_lds.py | 44 ------------ .../e98756.json | 28 -------- .../e98757.json | 28 -------- .../e98758.json | 29 -------- .../e98759.json | 28 -------- .../e98760.json | 28 -------- .../e98761.json | 28 -------- .../e98762.json | 28 -------- ...irtual-microwave-&-antenna-laboratory.json | 35 ---------- .../dump_json_to_lds.py | 44 ------------ .../e99136.json | 30 --------- .../e99137.json | 36 ---------- .../e99138.json | 37 ---------- .../e99139.json | 34 ---------- .../e99140.json | 38 ----------- .../e99141.json | 36 ---------- .../e99142.json | 36 ---------- .../e99143.json | 36 ---------- .../e99144.json | 37 ---------- .../e99145.json | 37 ---------- .../e99146.json | 37 ---------- .../e99147.json | 35 ---------- .../e99148.json | 32 --------- .../e99149.json | 36 ---------- ...r-electronics-and-electric-drives-lab.json | 52 -------------- ...n-in-human-computer-interaction-(hci).json | 54 --------------- .../dump_json_to_lds.py | 44 ------------ .../e98673.json | 34 ---------- .../e98674.json | 40 ----------- .../e98675.json | 40 ----------- .../e98676.json | 39 ----------- .../e98677.json | 39 ----------- .../e98678.json | 39 ----------- .../e98679.json | 41 ------------ .../e98680.json | 39 ----------- .../e98681.json | 39 ----------- .../e98682.json | 39 ----------- .../e98683.json | 39 ----------- .../e98684.json | 39 ----------- .../e98685.json | 39 ----------- .../e98686.json | 39 ----------- .../e98687.json | 39 ----------- .../e98688.json | 39 ----------- .../dump_json_to_lds.py | 44 ------------ .../e98699.json | 26 ------- .../e98700.json | 27 -------- .../e98701.json | 28 -------- ...ectromechanical-conversion-laboratory.json | 31 --------- .../dump_json_to_lds.py | 44 ------------ .../e98667.json | 30 --------- .../e98668.json | 28 -------- .../e98669.json | 29 -------- .../e98670.json | 28 -------- .../e98671.json | 28 -------- .../e98672.json | 29 -------- ...ggered-fiber-optics-communication-lab.json | 34 ---------- .../dump_json_to_lds.py | 44 ------------ .../e98647.json | 35 ---------- .../e98648.json | 40 ----------- .../e98649.json | 40 ----------- .../e98650.json | 40 ----------- .../e98651.json | 41 ------------ .../e98652.json | 41 ------------ .../e98653.json | 41 ------------ .../e98654.json | 40 ----------- .../e98655.json | 41 ------------ .../e98656.json | 41 ------------ .../e98657.json | 41 ------------ .../speech-signal-processing-laboratory.json | 49 -------------- .../dump_json_to_lds.py | 44 ------------ .../e98689.json | 29 -------- .../e98690.json | 28 -------- .../e98691.json | 27 -------- .../e98692.json | 28 -------- .../e98693.json | 29 -------- .../e98694.json | 30 --------- .../e98695.json | 30 --------- .../e98696.json | 28 -------- .../e98697.json | 28 -------- .../e98698.json | 27 -------- ...-communication-and-control-laboratory.json | 38 ----------- .../dump_json_to_lds.py | 44 ------------ .../virtual-interactive-lab/e98658.json | 22 ------ .../virtual-interactive-lab/e98659.json | 25 ------- .../virtual-interactive-lab/e98660.json | 24 ------- .../virtual-interactive-lab/e98661.json | 26 ------- .../virtual-interactive-lab/e98662.json | 25 ------- .../virtual-interactive-lab/e98663.json | 23 ------- .../virtual-interactive-lab/e98664.json | 23 ------- .../virtual-interactive-lab/e98665.json | 23 ------- .../virtual-interactive-lab/e98666.json | 23 ------- .../virtual-interactive-lab.json | 37 ---------- .../dump_json_to_lds.py | 44 ------------ .../e98470.json | 29 -------- ...l-transport-and-property-measurements.json | 30 --------- .../dump_json_to_lds.py | 44 ------------ .../e98476.json | 32 --------- .../e98477.json | 32 --------- .../e98478.json | 32 --------- ...-and-microstructural-characterization.json | 36 ---------- .../dump_json_to_lds.py | 44 ------------ .../e98460.json | 22 ------ .../e98461.json | 23 ------- .../e98462.json | 23 ------- .../e98463.json | 23 ------- ...ials-and-signal-processing-laboratory.json | 53 --------------- .../oscillations/dump_json_to_lds.py | 44 ------------ .../iit-kanpur/oscillations/e98402.json | 31 --------- .../iit-kanpur/oscillations/e98403.json | 32 --------- .../iit-kanpur/oscillations/e98404.json | 31 --------- .../iit-kanpur/oscillations/e98405.json | 30 --------- .../iit-kanpur/oscillations/e98406.json | 30 --------- .../iit-kanpur/oscillations/e98407.json | 32 --------- .../iit-kanpur/oscillations/e98408.json | 32 --------- .../iit-kanpur/oscillations/e98409.json | 32 --------- .../iit-kanpur/oscillations/e98410.json | 27 -------- .../iit-kanpur/oscillations/e98411.json | 28 -------- .../iit-kanpur/oscillations/oscillations.json | 43 ------------ .../dump_json_to_lds.py | 44 ------------ .../e98489.json | 34 ---------- .../e98490.json | 39 ----------- .../e98491.json | 39 ----------- .../e98492.json | 38 ----------- ...nces-optical-device-characterizations.json | 37 ---------- .../dump_json_to_lds.py | 44 ------------ .../e98496.json | 36 ---------- .../e98497.json | 36 ---------- .../e98498.json | 36 ---------- .../e98499.json | 36 ---------- .../e98500.json | 36 ---------- .../e98501.json | 36 ---------- .../e98502.json | 36 ---------- .../e98503.json | 36 ---------- .../e98504.json | 36 ---------- .../e98505.json | 36 ---------- ...rf-and-microwave-characterization-lab.json | 45 ------------- .../dump_json_to_lds.py | 44 ------------ .../e98506.json | 39 ----------- .../e98507.json | 39 ----------- .../e98508.json | 39 ----------- .../e98509.json | 39 ----------- .../e98510.json | 39 ----------- .../e98511.json | 39 ----------- .../e98512.json | 39 ----------- .../e98513.json | 40 ----------- .../e98514.json | 39 ----------- .../e98515.json | 39 ----------- .../e98516.json | 39 ----------- ...ducer-and-instrumentation-virtual-lab.json | 49 -------------- ...nced-network-technologies-virtual-lab.json | 43 ------------ .../dump_json_to_lds.py | 44 ------------ .../e98964.json | 28 -------- .../e98965.json | 33 --------- .../e98966.json | 33 --------- .../e98967.json | 33 --------- .../e98968.json | 33 --------- .../e98969.json | 33 --------- .../e98970.json | 33 --------- .../e98971.json | 33 --------- .../e98972.json | 33 --------- .../e98973.json | 33 --------- ...ls,network-and-measurement-laboratory.json | 63 ----------------- .../dump_json_to_lds.py | 44 ------------ .../e99106.json | 25 ------- .../e99107.json | 30 --------- .../e99108.json | 30 --------- .../e99109.json | 30 --------- .../e99110.json | 30 --------- .../e99111.json | 30 --------- .../e99112.json | 32 --------- .../e99113.json | 32 --------- .../e99114.json | 32 --------- .../e99115.json | 32 --------- .../e99116.json | 32 --------- .../e99117.json | 32 --------- .../e99118.json | 32 --------- .../e99119.json | 32 --------- .../e99120.json | 32 --------- .../e99121.json | 32 --------- .../e99122.json | 32 --------- .../e99123.json | 32 --------- .../e99124.json | 32 --------- .../e99125.json | 32 --------- .../e99126.json | 32 --------- .../e99127.json | 32 --------- .../e99128.json | 32 --------- .../e99129.json | 32 --------- .../e99130.json | 32 --------- .../e99131.json | 32 --------- .../e99132.json | 32 --------- .../e99133.json | 32 --------- .../e99134.json | 32 --------- .../e99135.json | 32 --------- .../chemical-process-dynamics-laboratory.json | 41 ------------ .../dump_json_to_lds.py | 44 ------------ .../e99169.json | 27 -------- .../e99170.json | 32 --------- .../e99171.json | 31 --------- .../e99172.json | 31 --------- .../e99173.json | 31 --------- .../e99174.json | 31 --------- .../e99175.json | 32 --------- .../e99176.json | 32 --------- ...igital-electronic-circuits-laboratory.json | 43 ------------ .../dump_json_to_lds.py | 44 ------------ .../e98954.json | 28 -------- .../e98955.json | 33 --------- .../e98956.json | 33 --------- .../e98957.json | 33 --------- .../e98958.json | 33 --------- .../e98959.json | 32 --------- .../e98960.json | 33 --------- .../e98961.json | 33 --------- .../e98962.json | 33 --------- .../e98963.json | 33 --------- .../digital-signal-processing-laboratory.json | 43 ------------ .../dump_json_to_lds.py | 44 ------------ .../e98945.json | 32 --------- .../e98946.json | 32 --------- .../e98947.json | 32 --------- .../e98948.json | 32 --------- .../e98949.json | 32 --------- .../e98950.json | 32 --------- .../e98951.json | 31 --------- .../e98952.json | 32 --------- .../e98953.json | 32 --------- .../dump_json_to_lds.py | 44 ------------ .../e98991.json | 28 -------- .../e98992.json | 33 --------- .../e98993.json | 33 --------- .../e98994.json | 33 --------- .../e98995.json | 33 --------- .../e98996.json | 33 --------- .../e98997.json | 33 --------- .../e98998.json | 33 --------- .../e98999.json | 33 --------- .../e99000.json | 33 --------- .../e99001.json | 33 --------- .../e99002.json | 33 --------- .../e99003.json | 33 --------- .../e99004.json | 33 --------- ...ing-channels-and-mobile-communication.json | 47 ------------- .../dump_json_to_lds.py | 44 ------------ .../e99076.json | 27 -------- .../e99077.json | 32 --------- .../e99078.json | 32 --------- .../e99079.json | 32 --------- .../e99080.json | 32 --------- .../e99081.json | 32 --------- .../e99082.json | 32 --------- .../e99083.json | 32 --------- .../e99084.json | 32 --------- .../e99085.json | 32 --------- .../e99086.json | 31 --------- .../e99087.json | 31 --------- .../e99088.json | 31 --------- .../e99089.json | 31 --------- .../e99090.json | 31 --------- .../e99091.json | 31 --------- .../e99092.json | 32 --------- .../e99093.json | 31 --------- .../e99094.json | 30 --------- .../e99095.json | 33 --------- .../e99096.json | 32 --------- .../e99097.json | 32 --------- .../e99098.json | 32 --------- .../e99099.json | 32 --------- .../e99100.json | 32 --------- .../e99101.json | 32 --------- .../e99102.json | 32 --------- .../e99103.json | 32 --------- .../e99104.json | 32 --------- .../e99105.json | 30 --------- ...kinematics-and-dynamics-of-mechanisms.json | 63 ----------------- .../dump_json_to_lds.py | 44 ------------ .../e99043.json | 32 --------- .../e99044.json | 31 --------- .../e99045.json | 32 --------- .../e99046.json | 34 ---------- .../e99047.json | 32 --------- .../e99048.json | 34 ---------- .../e99049.json | 33 --------- .../e99050.json | 32 --------- .../e99051.json | 33 --------- ...cal-systems-and-signal-processing-lab.json | 43 ------------ .../dump_json_to_lds.py | 44 ------------ .../model-based-fault-detection-lab.json | 32 --------- .../dump_json_to_lds.py | 45 ------------- .../e98357.json | 28 -------- .../e98358.json | 28 -------- .../e98359.json | 28 -------- .../e98361.json | 28 -------- .../e98362.json | 28 -------- .../e98363.json | 28 -------- .../e98364.json | 28 -------- .../e98365.json | 28 -------- .../e98366.json | 28 -------- .../e98367.json | 28 -------- .../e98368.json | 28 -------- .../e98369.json | 28 -------- .../e98370.json | 28 -------- .../e98371.json | 28 -------- .../e98372.json | 28 -------- .../e98373.json | 28 -------- .../e98374.json | 28 -------- .../e98375.json | 28 -------- .../e98376.json | 29 -------- .../e98377.json | 28 -------- .../e98378.json | 28 -------- .../e98379.json | 28 -------- .../e98380.json | 28 -------- .../e98381.json | 29 -------- .../e98382.json | 28 -------- .../e98383.json | 28 -------- .../e98384.json | 28 -------- .../e98385.json | 28 -------- .../programming-data-structures-lab.json | 57 ---------------- .../dump_json_to_lds.py | 44 ------------ .../e98974.json | 28 -------- .../e98975.json | 33 --------- .../e98976.json | 33 --------- .../e98977.json | 33 --------- .../e98978.json | 33 --------- .../e98979.json | 33 --------- .../e98980.json | 33 --------- .../e98981.json | 33 --------- .../e98982.json | 33 --------- .../e98983.json | 33 --------- .../e98984.json | 33 --------- .../e98985.json | 33 --------- .../e98986.json | 33 --------- .../e98987.json | 33 --------- .../e98988.json | 33 --------- .../e98989.json | 32 --------- ...real-time-embedded-systems-laboratory.json | 49 -------------- .../dump_json_to_lds.py | 44 ------------ .../e99061.json | 30 --------- .../e99062.json | 30 --------- .../e99063.json | 30 --------- .../e99064.json | 30 --------- .../e99065.json | 30 --------- .../e99066.json | 30 --------- .../e99067.json | 30 --------- .../e99068.json | 30 --------- .../e99069.json | 31 --------- .../e99070.json | 29 -------- .../e99071.json | 30 --------- .../e99072.json | 32 --------- .../e99073.json | 31 --------- .../e99074.json | 29 -------- .../e99075.json | 29 -------- ...control-systems-simulation-laboratory.json | 48 ------------- .../dump_json_to_lds.py | 44 ------------ .../e99052.json | 28 -------- .../e99053.json | 33 --------- .../e99054.json | 33 --------- .../e99055.json | 33 --------- .../e99056.json | 33 --------- .../e99057.json | 33 --------- .../e99058.json | 33 --------- .../e99059.json | 33 --------- .../e99060.json | 33 --------- ...machinery-fault-simulation-laboratory.json | 42 ------------ .../dump_json_to_lds.py | 44 ------------ .../e98871.json | 22 ------ .../e98872.json | 22 ------ .../satellite-modelling-and-simulation.json | 30 --------- .../dump_json_to_lds.py | 44 ------------ .../e98920.json | 28 -------- .../e98921.json | 28 -------- .../e98922.json | 28 -------- .../e98923.json | 28 -------- .../e98924.json | 28 -------- .../e98925.json | 28 -------- .../e98926.json | 28 -------- .../e98927.json | 28 -------- .../e98928.json | 28 -------- .../e98929.json | 28 -------- .../e98930.json | 28 -------- .../e98931.json | 28 -------- .../soft-computing-tools-in-engineering.json | 40 ----------- .../dump_json_to_lds.py | 44 ------------ .../software-engineering-lab/e99150.json | 29 -------- .../software-engineering-lab/e99151.json | 34 ---------- .../software-engineering-lab/e99152.json | 34 ---------- .../software-engineering-lab/e99153.json | 34 ---------- .../software-engineering-lab/e99154.json | 34 ---------- .../software-engineering-lab/e99155.json | 34 ---------- .../software-engineering-lab/e99156.json | 34 ---------- .../software-engineering-lab/e99157.json | 34 ---------- .../software-engineering-lab/e99158.json | 34 ---------- .../software-engineering-lab/e99159.json | 34 ---------- .../software-engineering-lab.json | 43 ------------ .../dump_json_to_lds.py | 44 ------------ .../e98435.json | 36 ---------- .../e98436.json | 36 ---------- .../e98437.json | 36 ---------- .../e98438.json | 36 ---------- .../e98439.json | 36 ---------- .../e98440.json | 36 ---------- .../e98441.json | 36 ---------- .../e98449.json | 36 ---------- .../e98458.json | 37 ---------- .../e98459.json | 37 ---------- .../virtual-high-voltage-laboratory | 16 ----- .../virtual-high-voltage-laboratory.json | 59 ---------------- .../dump_json_to_lds.py | 44 ------------ .../e98873.json | 28 -------- .../e98874.json | 32 --------- .../e98875.json | 33 --------- .../e98876.json | 32 --------- .../e98877.json | 33 --------- .../e98878.json | 33 --------- .../e98879.json | 32 --------- .../e98880.json | 33 --------- .../e98881.json | 34 ---------- .../e98882.json | 34 ---------- .../virtual-lab-on-mine-ventilation.json | 43 ------------ .../dump_json_to_lds.py | 44 ------------ .../virtual-lab-on-multiphase-flow.json | 32 --------- .../dump_json_to_lds.py | 44 ------------ .../e98883.json | 29 -------- .../e98884.json | 34 ---------- .../e98885.json | 34 ---------- .../e98886.json | 34 ---------- .../e98887.json | 34 ---------- .../e98888.json | 34 ---------- .../e98889.json | 34 ---------- .../e98890.json | 34 ---------- .../e98891.json | 34 ---------- .../e98892.json | 34 ---------- ...laboratory-for-simulation-and-gaming-.json | 44 ------------ .../dump_json_to_lds.py | 44 ------------ .../e99005.json | 26 ------- .../e99006.json | 31 --------- .../e99007.json | 31 --------- ...,-switching-and-analogue-circuits-lab.json | 36 ---------- .../fluid-machinery-lab/E98519.json | 21 ------ .../fluid-machinery-lab/dump_json_to_lds.py | 44 ------------ .../fluid-machinery-lab/e98519.json | 30 --------- .../fluid-machinery-lab/e98520.json | 30 --------- .../fluid-machinery-lab/e98521.json | 30 --------- .../fluid-machinery-lab/e98522.json | 30 --------- .../fluid-machinery-lab/e98523.json | 30 --------- .../fluid-machinery-lab/e98524.json | 30 --------- .../fluid-machinery-lab/e98525.json | 30 --------- .../fluid-machinery-lab/e99058.json | 30 --------- .../fluid-machinery-lab.json | 36 ---------- .../dump_json_to_lds.py | 44 ------------ .../e98526.json | 14 ---- .../e98527.json | 14 ---- .../e98528.json | 14 ---- .../e98529.json | 29 -------- .../e98530.json | 29 -------- .../e98531.json | 29 -------- .../e98532.json | 29 -------- .../e98533.json | 29 -------- .../e98534.json | 29 -------- .../e98535.json | 29 -------- .../remote-triggered-vibration-lab.json | 38 ----------- .../dump_json_to_lds.py | 44 ------------ .../e99160.json | 34 ---------- .../e99161.json | 39 ----------- .../e99162.json | 39 ----------- .../e99163.json | 39 ----------- .../e99164.json | 39 ----------- .../e99165.json | 39 ----------- .../e99166.json | 39 ----------- .../e99167.json | 39 ----------- .../e99168.json | 39 ----------- ...ion,-reaction-engg.-&-process-control.json | 47 ------------- 987 files changed, 32900 deletions(-) delete mode 100644 specifications/amrita/bio-inspired-robotics-virtual-lab-(remote-trigger)/bio-inspired-robotics-virtual-lab-(remote-trigger).json delete mode 100644 specifications/amrita/bio-inspired-robotics-virtual-lab-(remote-trigger)/dump_json_to_lds.py delete mode 100644 specifications/amrita/bio-inspired-robotics-virtual-lab-(remote-trigger)/e98812.json delete mode 100644 specifications/amrita/bio-inspired-robotics-virtual-lab-(remote-trigger)/e98813.json delete mode 100644 specifications/amrita/bio-inspired-robotics-virtual-lab-(remote-trigger)/e98814.json delete mode 100644 specifications/amrita/bio-inspired-robotics-virtual-lab-(remote-trigger)/e98815.json delete mode 100644 specifications/amrita/bio-inspired-robotics-virtual-lab-(remote-trigger)/e98816.json delete mode 100644 specifications/amrita/bio-inspired-robotics-virtual-lab-(remote-trigger)/e98817.json delete mode 100644 specifications/amrita/bio-inspired-robotics-virtual-lab-(remote-trigger)/e98818.json delete mode 100644 specifications/amrita/bio-inspired-robotics-virtual-lab-(remote-trigger)/e98819.json delete mode 100644 specifications/amrita/biochemistry-virtual-lab-ii/biochemistry-virtual-lab-ii.json delete mode 100644 specifications/amrita/biochemistry-virtual-lab-ii/dump_json_to_lds.py delete mode 100644 specifications/amrita/biochemistry-virtual-lab-ii/e98782.json delete mode 100644 specifications/amrita/biochemistry-virtual-lab-ii/e98783.json delete mode 100644 specifications/amrita/biochemistry-virtual-lab-ii/e98784.json delete mode 100644 specifications/amrita/biochemistry-virtual-lab-ii/e98785.json delete mode 100644 specifications/amrita/biochemistry-virtual-lab-ii/e98786.json delete mode 100644 specifications/amrita/biochemistry-virtual-lab-ii/e98787.json delete mode 100644 specifications/amrita/biochemistry-virtual-lab-ii/e98788.json delete mode 100644 specifications/amrita/biochemistry-virtual-lab-ii/e98789.json delete mode 100644 specifications/amrita/biochemistry-virtual-lab-ii/e98790.json delete mode 100644 specifications/amrita/biochemistry-virtual-lab-ii/e98791.json delete mode 100644 specifications/amrita/bioinformatics-virtual-lab-i/bioinformatics-virtual-lab-i.json delete mode 100644 specifications/amrita/bioinformatics-virtual-lab-i/dump_json_to_lds.py delete mode 100644 specifications/amrita/bioinformatics-virtual-lab-i/e98862.json delete mode 100644 specifications/amrita/bioinformatics-virtual-lab-i/e98863.json delete mode 100644 specifications/amrita/bioinformatics-virtual-lab-i/e98864.json delete mode 100644 specifications/amrita/bioinformatics-virtual-lab-i/e98865.json delete mode 100644 specifications/amrita/bioinformatics-virtual-lab-i/e98866.json delete mode 100644 specifications/amrita/bioinformatics-virtual-lab-i/e98867.json delete mode 100644 specifications/amrita/bioinformatics-virtual-lab-i/e98868.json delete mode 100644 specifications/amrita/bioinformatics-virtual-lab-i/e98869.json delete mode 100644 specifications/amrita/bioinformatics-virtual-lab-i/e98870.json delete mode 100644 specifications/amrita/bioinformatics-virtual-lab-ii/bioinformatics-virtual-lab-ii.json delete mode 100644 specifications/amrita/bioinformatics-virtual-lab-ii/dump_json_to_lds.py delete mode 100644 specifications/amrita/bioinformatics-virtual-lab-ii/e98846.json delete mode 100644 specifications/amrita/bioinformatics-virtual-lab-ii/e98847.json delete mode 100644 specifications/amrita/bioinformatics-virtual-lab-ii/e98848.json delete mode 100644 specifications/amrita/bioinformatics-virtual-lab-ii/e98849.json delete mode 100644 specifications/amrita/bioinformatics-virtual-lab-ii/e98850.json delete mode 100644 specifications/amrita/bioinformatics-virtual-lab-ii/e98851.json delete mode 100644 specifications/amrita/bioinformatics-virtual-lab-ii/e98852.json delete mode 100644 specifications/amrita/bioinformatics-virtual-lab-ii/e98853.json delete mode 100644 specifications/amrita/bioinformatics-virtual-lab-ii/e98854.json delete mode 100644 specifications/amrita/bioinformatics-virtual-lab-iii/bioinformatics-virtual-lab-iii.json delete mode 100644 specifications/amrita/bioinformatics-virtual-lab-iii/dump_json_to_lds.py delete mode 100644 specifications/amrita/bioinformatics-virtual-lab-iii/e98836.json delete mode 100644 specifications/amrita/bioinformatics-virtual-lab-iii/e98837.json delete mode 100644 specifications/amrita/bioinformatics-virtual-lab-iii/e98838.json delete mode 100644 specifications/amrita/bioinformatics-virtual-lab-iii/e98839.json delete mode 100644 specifications/amrita/bioinformatics-virtual-lab-iii/e98840.json delete mode 100644 specifications/amrita/bioinformatics-virtual-lab-iii/e98841.json delete mode 100644 specifications/amrita/bioinformatics-virtual-lab-iii/e98842.json delete mode 100644 specifications/amrita/bioinformatics-virtual-lab-iii/e98843.json delete mode 100644 specifications/amrita/bioinformatics-virtual-lab-iii/e98844.json delete mode 100644 specifications/amrita/bioinformatics-virtual-lab-iii/e98845.json delete mode 100644 specifications/amrita/computer-aided-drug-design-virtual-lab/computer-aided-drug-design-virtual-lab.json delete mode 100644 specifications/amrita/computer-aided-drug-design-virtual-lab/dump_json_to_lds.py delete mode 100644 specifications/amrita/computer-aided-drug-design-virtual-lab/e98820.json delete mode 100644 specifications/amrita/computer-aided-drug-design-virtual-lab/e98821.json delete mode 100644 specifications/amrita/computer-aided-drug-design-virtual-lab/e98822.json delete mode 100644 specifications/amrita/computer-aided-drug-design-virtual-lab/e98823.json delete mode 100644 specifications/amrita/computer-aided-drug-design-virtual-lab/e98824.json delete mode 100644 specifications/amrita/computer-aided-drug-design-virtual-lab/e98825.json delete mode 100644 specifications/amrita/computer-aided-drug-design-virtual-lab/e98826.json delete mode 100644 specifications/amrita/computer-aided-drug-design-virtual-lab/e98827.json delete mode 100644 specifications/amrita/harmonic-motion-and-waves-virtual-lab/dump_json_to_lds.py delete mode 100644 specifications/amrita/harmonic-motion-and-waves-virtual-lab/e99201.json delete mode 100644 specifications/amrita/harmonic-motion-and-waves-virtual-lab/e99202.json delete mode 100644 specifications/amrita/harmonic-motion-and-waves-virtual-lab/e99203.json delete mode 100644 specifications/amrita/harmonic-motion-and-waves-virtual-lab/e99204.json delete mode 100644 specifications/amrita/harmonic-motion-and-waves-virtual-lab/e99205.json delete mode 100644 specifications/amrita/harmonic-motion-and-waves-virtual-lab/e99206.json delete mode 100644 specifications/amrita/harmonic-motion-and-waves-virtual-lab/e99207.json delete mode 100644 specifications/amrita/harmonic-motion-and-waves-virtual-lab/e99636.json delete mode 100644 specifications/amrita/harmonic-motion-and-waves-virtual-lab/harmonic-motion-and-waves-virtual-lab.json delete mode 100644 specifications/amrita/immunology-virtual-lab-i/dump_json_to_lds.py delete mode 100644 specifications/amrita/immunology-virtual-lab-i/e98773.json delete mode 100644 specifications/amrita/immunology-virtual-lab-i/e98774.json delete mode 100644 specifications/amrita/immunology-virtual-lab-i/e98775.json delete mode 100644 specifications/amrita/immunology-virtual-lab-i/e98776.json delete mode 100644 specifications/amrita/immunology-virtual-lab-i/e98777.json delete mode 100644 specifications/amrita/immunology-virtual-lab-i/e98778.json delete mode 100644 specifications/amrita/immunology-virtual-lab-i/e98779.json delete mode 100644 specifications/amrita/immunology-virtual-lab-i/e98780.json delete mode 100644 specifications/amrita/immunology-virtual-lab-i/e98781.json delete mode 100644 specifications/amrita/immunology-virtual-lab-i/immunology-virtual-lab-i.json delete mode 100644 specifications/amrita/immunology-virtual-lab-ii/dump_json_to_lds.py delete mode 100644 specifications/amrita/immunology-virtual-lab-ii/e98764.json delete mode 100644 specifications/amrita/immunology-virtual-lab-ii/e98765.json delete mode 100644 specifications/amrita/immunology-virtual-lab-ii/e98766.json delete mode 100644 specifications/amrita/immunology-virtual-lab-ii/e98767.json delete mode 100644 specifications/amrita/immunology-virtual-lab-ii/e98768.json delete mode 100644 specifications/amrita/immunology-virtual-lab-ii/e98769.json delete mode 100644 specifications/amrita/immunology-virtual-lab-ii/e98770.json delete mode 100644 specifications/amrita/immunology-virtual-lab-ii/e98771.json delete mode 100644 specifications/amrita/immunology-virtual-lab-ii/e98772.json delete mode 100644 specifications/amrita/immunology-virtual-lab-ii/immunology-virtual-lab-ii.json delete mode 100644 specifications/amrita/laser-optics-virtual-lab/dump_json_to_lds.py delete mode 100644 specifications/amrita/laser-optics-virtual-lab/e99185.json delete mode 100644 specifications/amrita/laser-optics-virtual-lab/e99186.json delete mode 100644 specifications/amrita/laser-optics-virtual-lab/e99187.json delete mode 100644 specifications/amrita/laser-optics-virtual-lab/e99188.json delete mode 100644 specifications/amrita/laser-optics-virtual-lab/e99189.json delete mode 100644 specifications/amrita/laser-optics-virtual-lab/e99190.json delete mode 100644 specifications/amrita/laser-optics-virtual-lab/e99191.json delete mode 100644 specifications/amrita/laser-optics-virtual-lab/laser-optics-virtual-lab.json delete mode 100644 specifications/amrita/mechanics-virtual-lab-(pilot)/dump_json_to_lds.py delete mode 100644 specifications/amrita/mechanics-virtual-lab-(pilot)/e99208.json delete mode 100644 specifications/amrita/mechanics-virtual-lab-(pilot)/e99209.json delete mode 100644 specifications/amrita/mechanics-virtual-lab-(pilot)/e99210.json delete mode 100644 specifications/amrita/mechanics-virtual-lab-(pilot)/e99272.json delete mode 100644 specifications/amrita/mechanics-virtual-lab-(pilot)/e99273.json delete mode 100644 specifications/amrita/mechanics-virtual-lab-(pilot)/e99274.json delete mode 100644 specifications/amrita/mechanics-virtual-lab-(pilot)/e99275.json delete mode 100644 specifications/amrita/mechanics-virtual-lab-(pilot)/e99277.json delete mode 100644 specifications/amrita/mechanics-virtual-lab-(pilot)/mechanics-virtual-lab-(pilot).json delete mode 100644 specifications/amrita/microbiology-virtual-lab-i/dump_json_to_lds.py delete mode 100644 specifications/amrita/microbiology-virtual-lab-i/e99220.json delete mode 100644 specifications/amrita/microbiology-virtual-lab-i/e99221.json delete mode 100644 specifications/amrita/microbiology-virtual-lab-i/e99222.json delete mode 100644 specifications/amrita/microbiology-virtual-lab-i/e99223.json delete mode 100644 specifications/amrita/microbiology-virtual-lab-i/e99224.json delete mode 100644 specifications/amrita/microbiology-virtual-lab-i/e99225.json delete mode 100644 specifications/amrita/microbiology-virtual-lab-i/e99226.json delete mode 100644 specifications/amrita/microbiology-virtual-lab-i/e99227.json delete mode 100644 specifications/amrita/microbiology-virtual-lab-i/e99228.json delete mode 100644 specifications/amrita/microbiology-virtual-lab-i/e99229.json delete mode 100644 specifications/amrita/microbiology-virtual-lab-i/e99230.json delete mode 100644 specifications/amrita/microbiology-virtual-lab-i/e99231.json delete mode 100644 specifications/amrita/microbiology-virtual-lab-i/microbiology-virtual-lab-i.json delete mode 100644 specifications/amrita/microbiology-virtual-lab-ii/e99211.json delete mode 100644 specifications/amrita/microbiology-virtual-lab-ii/e99212.json delete mode 100644 specifications/amrita/microbiology-virtual-lab-ii/e99213.json delete mode 100644 specifications/amrita/microbiology-virtual-lab-ii/e99214.json delete mode 100644 specifications/amrita/microbiology-virtual-lab-ii/e99215.json delete mode 100644 specifications/amrita/microbiology-virtual-lab-ii/e99216.json delete mode 100644 specifications/amrita/microbiology-virtual-lab-ii/e99217.json delete mode 100644 specifications/amrita/microbiology-virtual-lab-ii/e99218.json delete mode 100644 specifications/amrita/microbiology-virtual-lab-ii/e99219.json delete mode 100644 specifications/amrita/microbiology-virtual-lab-ii/microbiology-virtual-lab-ii.json delete mode 100644 specifications/amrita/modern-physics-virtual-lab/e99192.json delete mode 100644 specifications/amrita/modern-physics-virtual-lab/e99193.json delete mode 100644 specifications/amrita/modern-physics-virtual-lab/e99194.json delete mode 100644 specifications/amrita/modern-physics-virtual-lab/e99195.json delete mode 100644 specifications/amrita/modern-physics-virtual-lab/e99196.json delete mode 100644 specifications/amrita/modern-physics-virtual-lab/e99197.json delete mode 100644 specifications/amrita/modern-physics-virtual-lab/e99198.json delete mode 100644 specifications/amrita/modern-physics-virtual-lab/e99199.json delete mode 100644 specifications/amrita/modern-physics-virtual-lab/e99200.json delete mode 100644 specifications/amrita/modern-physics-virtual-lab/modern-physics-virtual-lab.json delete mode 100644 specifications/amrita/neuron-simulation-lab-(pilot)/e98792.json delete mode 100644 specifications/amrita/neuron-simulation-lab-(pilot)/e98793.json delete mode 100644 specifications/amrita/neuron-simulation-lab-(pilot)/e98794.json delete mode 100644 specifications/amrita/neuron-simulation-lab-(pilot)/e98795.json delete mode 100644 specifications/amrita/neuron-simulation-lab-(pilot)/e98796.json delete mode 100644 specifications/amrita/neuron-simulation-lab-(pilot)/e98797.json delete mode 100644 specifications/amrita/neuron-simulation-lab-(pilot)/e98798.json delete mode 100644 specifications/amrita/neuron-simulation-lab-(pilot)/e98799.json delete mode 100644 specifications/amrita/neuron-simulation-lab-(pilot)/e98800.json delete mode 100644 specifications/amrita/neuron-simulation-lab-(pilot)/e98801.json delete mode 100644 specifications/amrita/neuron-simulation-lab-(pilot)/neuron-simulation-lab-(pilot).json delete mode 100644 specifications/amrita/neurophysiology-(pilot)/e98802.json delete mode 100644 specifications/amrita/neurophysiology-(pilot)/e98803.json delete mode 100644 specifications/amrita/neurophysiology-(pilot)/e98804.json delete mode 100644 specifications/amrita/neurophysiology-(pilot)/e98805.json delete mode 100644 specifications/amrita/neurophysiology-(pilot)/e98806.json delete mode 100644 specifications/amrita/neurophysiology-(pilot)/e98807.json delete mode 100644 specifications/amrita/neurophysiology-(pilot)/e98808.json delete mode 100644 specifications/amrita/neurophysiology-(pilot)/e98809.json delete mode 100644 specifications/amrita/neurophysiology-(pilot)/e98810.json delete mode 100644 specifications/amrita/neurophysiology-(pilot)/e98811.json delete mode 100644 specifications/amrita/neurophysiology-(pilot)/neurophysiology-(pilot).json delete mode 100644 specifications/amrita/solid-state-physics-virtual-lab/e98855.json delete mode 100644 specifications/amrita/solid-state-physics-virtual-lab/e98856.json delete mode 100644 specifications/amrita/solid-state-physics-virtual-lab/e98857.json delete mode 100644 specifications/amrita/solid-state-physics-virtual-lab/e98858.json delete mode 100644 specifications/amrita/solid-state-physics-virtual-lab/e98859.json delete mode 100644 specifications/amrita/solid-state-physics-virtual-lab/e98860.json delete mode 100644 specifications/amrita/solid-state-physics-virtual-lab/e98861.json delete mode 100644 specifications/amrita/solid-state-physics-virtual-lab/e99977.json delete mode 100644 specifications/amrita/solid-state-physics-virtual-lab/solid-state-physics-virtual-lab.json delete mode 100644 specifications/amrita/systems-biology-virtual-lab/e98828.json delete mode 100644 specifications/amrita/systems-biology-virtual-lab/e98829.json delete mode 100644 specifications/amrita/systems-biology-virtual-lab/e98830.json delete mode 100644 specifications/amrita/systems-biology-virtual-lab/e98831.json delete mode 100644 specifications/amrita/systems-biology-virtual-lab/e98832.json delete mode 100644 specifications/amrita/systems-biology-virtual-lab/e98833.json delete mode 100644 specifications/amrita/systems-biology-virtual-lab/e98834.json delete mode 100644 specifications/amrita/systems-biology-virtual-lab/e98835.json delete mode 100644 specifications/amrita/systems-biology-virtual-lab/systems-biology-virtual-lab.json delete mode 100644 specifications/amrita/virtual-electric-circuits-lab-(pilot)/e98713.json delete mode 100644 specifications/amrita/virtual-electric-circuits-lab-(pilot)/e98714.json delete mode 100644 specifications/amrita/virtual-electric-circuits-lab-(pilot)/e98715.json delete mode 100644 specifications/amrita/virtual-electric-circuits-lab-(pilot)/e98716.json delete mode 100644 specifications/amrita/virtual-electric-circuits-lab-(pilot)/e98717.json delete mode 100644 specifications/amrita/virtual-electric-circuits-lab-(pilot)/e98718.json delete mode 100644 specifications/amrita/virtual-electric-circuits-lab-(pilot)/e98719.json delete mode 100644 specifications/amrita/virtual-electric-circuits-lab-(pilot)/e98720.json delete mode 100644 specifications/amrita/virtual-electric-circuits-lab-(pilot)/e98721.json delete mode 100644 specifications/amrita/virtual-electric-circuits-lab-(pilot)/e98722.json delete mode 100644 specifications/amrita/virtual-electric-circuits-lab-(pilot)/e98723.json delete mode 100644 specifications/amrita/virtual-electric-circuits-lab-(pilot)/virtual-electric-circuits-lab-(pilot).json delete mode 100644 specifications/amrita/wireless-sensor-network-remote-triggered-lab/e98702.json delete mode 100644 specifications/amrita/wireless-sensor-network-remote-triggered-lab/e98703.json delete mode 100644 specifications/amrita/wireless-sensor-network-remote-triggered-lab/e98704.json delete mode 100644 specifications/amrita/wireless-sensor-network-remote-triggered-lab/e98705.json delete mode 100644 specifications/amrita/wireless-sensor-network-remote-triggered-lab/e98706.json delete mode 100644 specifications/amrita/wireless-sensor-network-remote-triggered-lab/e98707.json delete mode 100644 specifications/amrita/wireless-sensor-network-remote-triggered-lab/e98708.json delete mode 100644 specifications/amrita/wireless-sensor-network-remote-triggered-lab/e98709.json delete mode 100644 specifications/amrita/wireless-sensor-network-remote-triggered-lab/e98710.json delete mode 100644 specifications/amrita/wireless-sensor-network-remote-triggered-lab/e98711.json delete mode 100644 specifications/amrita/wireless-sensor-network-remote-triggered-lab/e98712.json delete mode 100644 specifications/amrita/wireless-sensor-network-remote-triggered-lab/e98966.json delete mode 100644 specifications/amrita/wireless-sensor-network-remote-triggered-lab/wireless-sensor-network-remote-triggered-lab.json delete mode 100644 specifications/coep/fpga-and-embedded-system-lab/E98637.json delete mode 100644 specifications/coep/fpga-and-embedded-system-lab/dump_json_to_lds.py delete mode 100644 specifications/coep/fpga-and-embedded-system-lab/e98637.json delete mode 100644 specifications/coep/fpga-and-embedded-system-lab/e98638.json delete mode 100644 specifications/coep/fpga-and-embedded-system-lab/e98639.json delete mode 100644 specifications/coep/fpga-and-embedded-system-lab/e98640.json delete mode 100644 specifications/coep/fpga-and-embedded-system-lab/e98641.json delete mode 100644 specifications/coep/fpga-and-embedded-system-lab/e98642.json delete mode 100644 specifications/coep/fpga-and-embedded-system-lab/e98643.json delete mode 100644 specifications/coep/fpga-and-embedded-system-lab/e98644.json delete mode 100644 specifications/coep/fpga-and-embedded-system-lab/e98645.json delete mode 100644 specifications/coep/fpga-and-embedded-system-lab/e98646.json delete mode 100644 specifications/coep/fpga-and-embedded-system-lab/fpga-and-embedded-system-lab.json delete mode 100644 specifications/dayalbagh/analytical-lab/analytical-lab.json delete mode 100644 specifications/dayalbagh/analytical-lab/dump_json_to_lds.py delete mode 100644 specifications/dayalbagh/analytical-lab/e99177.json delete mode 100644 specifications/dayalbagh/analytical-lab/e99178.json delete mode 100644 specifications/dayalbagh/analytical-lab/e99179.json delete mode 100644 specifications/dayalbagh/analytical-lab/e99180.json delete mode 100644 specifications/dayalbagh/analytical-lab/e99181.json delete mode 100644 specifications/dayalbagh/analytical-lab/e99182.json delete mode 100644 specifications/dayalbagh/analytical-lab/e99183.json delete mode 100644 specifications/dayalbagh/analytical-lab/e99184.json delete mode 100644 specifications/dayalbagh/virtual-advanced-lab-for-interactive-design-and-test-in-electronics/dump_json_to_lds.py delete mode 100644 specifications/dayalbagh/virtual-advanced-lab-for-interactive-design-and-test-in-electronics/e98636.json delete mode 100644 specifications/dayalbagh/virtual-advanced-lab-for-interactive-design-and-test-in-electronics/e98894.json delete mode 100644 specifications/dayalbagh/virtual-advanced-lab-for-interactive-design-and-test-in-electronics/e98895.json delete mode 100644 specifications/dayalbagh/virtual-advanced-lab-for-interactive-design-and-test-in-electronics/e98896.json delete mode 100644 specifications/dayalbagh/virtual-advanced-lab-for-interactive-design-and-test-in-electronics/e99017.json delete mode 100644 specifications/dayalbagh/virtual-advanced-lab-for-interactive-design-and-test-in-electronics/e99018.json delete mode 100644 specifications/dayalbagh/virtual-advanced-lab-for-interactive-design-and-test-in-electronics/e99019.json delete mode 100644 specifications/dayalbagh/virtual-advanced-lab-for-interactive-design-and-test-in-electronics/e99020.json delete mode 100644 specifications/dayalbagh/virtual-advanced-lab-for-interactive-design-and-test-in-electronics/e99021.json delete mode 100644 specifications/dayalbagh/virtual-advanced-lab-for-interactive-design-and-test-in-electronics/e99022.json delete mode 100644 specifications/dayalbagh/virtual-advanced-lab-for-interactive-design-and-test-in-electronics/e99023.json delete mode 100644 specifications/dayalbagh/virtual-advanced-lab-for-interactive-design-and-test-in-electronics/e99024.json delete mode 100644 specifications/dayalbagh/virtual-advanced-lab-for-interactive-design-and-test-in-electronics/e99025.json delete mode 100644 specifications/dayalbagh/virtual-advanced-lab-for-interactive-design-and-test-in-electronics/e99026.json delete mode 100644 specifications/dayalbagh/virtual-advanced-lab-for-interactive-design-and-test-in-electronics/e99027.json delete mode 100644 specifications/dayalbagh/virtual-advanced-lab-for-interactive-design-and-test-in-electronics/e99028.json delete mode 100644 specifications/dayalbagh/virtual-advanced-lab-for-interactive-design-and-test-in-electronics/e99029.json delete mode 100644 specifications/dayalbagh/virtual-advanced-lab-for-interactive-design-and-test-in-electronics/e99030.json delete mode 100644 specifications/dayalbagh/virtual-advanced-lab-for-interactive-design-and-test-in-electronics/e99031.json delete mode 100644 specifications/dayalbagh/virtual-advanced-lab-for-interactive-design-and-test-in-electronics/e99032.json delete mode 100644 specifications/dayalbagh/virtual-advanced-lab-for-interactive-design-and-test-in-electronics/e99033.json delete mode 100644 specifications/dayalbagh/virtual-advanced-lab-for-interactive-design-and-test-in-electronics/e99034.json delete mode 100644 specifications/dayalbagh/virtual-advanced-lab-for-interactive-design-and-test-in-electronics/e99035.json delete mode 100644 specifications/dayalbagh/virtual-advanced-lab-for-interactive-design-and-test-in-electronics/e99036.json delete mode 100644 specifications/dayalbagh/virtual-advanced-lab-for-interactive-design-and-test-in-electronics/e99037.json delete mode 100644 specifications/dayalbagh/virtual-advanced-lab-for-interactive-design-and-test-in-electronics/e99038.json delete mode 100644 specifications/dayalbagh/virtual-advanced-lab-for-interactive-design-and-test-in-electronics/e99039.json delete mode 100644 specifications/dayalbagh/virtual-advanced-lab-for-interactive-design-and-test-in-electronics/e99040.json delete mode 100644 specifications/dayalbagh/virtual-advanced-lab-for-interactive-design-and-test-in-electronics/e99041.json delete mode 100644 specifications/dayalbagh/virtual-advanced-lab-for-interactive-design-and-test-in-electronics/virtual-advanced-lab-for-interactive-design-and-test-in-electronics.json delete mode 100644 specifications/iiit-hyderabad/basic-engineering-mechanics-and-strength-of-materials/basic-engineering-mechanics-and-strength-of-materials.json delete mode 100644 specifications/iiit-hyderabad/basic-engineering-mechanics-and-strength-of-materials/dump_json_to_lds.py delete mode 100644 specifications/iiit-hyderabad/basic-engineering-mechanics-and-strength-of-materials/e98990.json delete mode 100644 specifications/iiit-hyderabad/basic-engineering-mechanics-and-strength-of-materials/e99667.json delete mode 100644 specifications/iiit-hyderabad/basic-engineering-mechanics-and-strength-of-materials/e99668.json delete mode 100644 specifications/iiit-hyderabad/basic-engineering-mechanics-and-strength-of-materials/e99669.json delete mode 100644 specifications/iiit-hyderabad/basic-engineering-mechanics-and-strength-of-materials/e99671.json delete mode 100644 specifications/iiit-hyderabad/basic-engineering-mechanics-and-strength-of-materials/e99672.json delete mode 100644 specifications/iiit-hyderabad/basic-engineering-mechanics-and-strength-of-materials/e99673.json delete mode 100644 specifications/iiit-hyderabad/basic-engineering-mechanics-and-strength-of-materials/e99674.json delete mode 100644 specifications/iiit-hyderabad/basic-engineering-mechanics-and-strength-of-materials/e99675.json delete mode 100644 specifications/iiit-hyderabad/basic-engineering-mechanics-and-strength-of-materials/e99676.json delete mode 100644 specifications/iiit-hyderabad/circular-dichroism-spectroscopy/circular-dichroism-spectroscopy.json delete mode 100644 specifications/iiit-hyderabad/circular-dichroism-spectroscopy/dump_json_to_lds.py delete mode 100644 specifications/iiit-hyderabad/circular-dichroism-spectroscopy/e98626.json delete mode 100644 specifications/iiit-hyderabad/circular-dichroism-spectroscopy/e98627.json delete mode 100644 specifications/iiit-hyderabad/circular-dichroism-spectroscopy/e98628.json delete mode 100644 specifications/iiit-hyderabad/circular-dichroism-spectroscopy/e98629.json delete mode 100644 specifications/iiit-hyderabad/circular-dichroism-spectroscopy/e98630.json delete mode 100644 specifications/iiit-hyderabad/circular-dichroism-spectroscopy/e98631.json delete mode 100644 specifications/iiit-hyderabad/circular-dichroism-spectroscopy/e98632.json delete mode 100644 specifications/iiit-hyderabad/circular-dichroism-spectroscopy/e98633.json delete mode 100644 specifications/iiit-hyderabad/circular-dichroism-spectroscopy/e98634.json delete mode 100644 specifications/iiit-hyderabad/circular-dichroism-spectroscopy/e98635.json delete mode 100644 specifications/iiit-hyderabad/colloid-and-surface-chemistry/colloid-and-surface-chemistry.json delete mode 100644 specifications/iiit-hyderabad/colloid-and-surface-chemistry/dump_json_to_lds.py delete mode 100644 specifications/iiit-hyderabad/colloid-and-surface-chemistry/e98748.json delete mode 100644 specifications/iiit-hyderabad/colloid-and-surface-chemistry/e98749.json delete mode 100644 specifications/iiit-hyderabad/colloid-and-surface-chemistry/e98750.json delete mode 100644 specifications/iiit-hyderabad/colloid-and-surface-chemistry/e98751.json delete mode 100644 specifications/iiit-hyderabad/colloid-and-surface-chemistry/e98752.json delete mode 100644 specifications/iiit-hyderabad/colloid-and-surface-chemistry/e98753.json delete mode 100644 specifications/iiit-hyderabad/colloid-and-surface-chemistry/e98754.json delete mode 100644 specifications/iiit-hyderabad/colloid-and-surface-chemistry/e98755.json delete mode 100644 specifications/iiit-hyderabad/colloid-and-surface-chemistry/e99280.json delete mode 100644 specifications/iiit-hyderabad/data-mining/data-mining.json delete mode 100644 specifications/iiit-hyderabad/data-mining/dump_json_to_lds.py delete mode 100644 specifications/iiit-hyderabad/data-mining/e98555.json delete mode 100644 specifications/iiit-hyderabad/data-mining/e98556.json delete mode 100644 specifications/iiit-hyderabad/data-mining/e98557.json delete mode 100644 specifications/iiit-hyderabad/data-mining/e98558.json delete mode 100644 specifications/iiit-hyderabad/data-mining/e98559.json delete mode 100644 specifications/iiit-hyderabad/data-mining/e98560.json delete mode 100644 specifications/iiit-hyderabad/data-mining/e98561.json delete mode 100644 specifications/iiit-hyderabad/data-mining/e98562.json delete mode 100644 specifications/iiit-hyderabad/data-mining/e98563.json delete mode 100644 specifications/iiit-hyderabad/data-mining/e98564.json delete mode 100644 specifications/iiit-hyderabad/databases/databases.json delete mode 100644 specifications/iiit-hyderabad/databases/dump_json_to_lds.py delete mode 100644 specifications/iiit-hyderabad/databases/e98575.json delete mode 100644 specifications/iiit-hyderabad/databases/e98576.json delete mode 100644 specifications/iiit-hyderabad/databases/e98577.json delete mode 100644 specifications/iiit-hyderabad/databases/e98578.json delete mode 100644 specifications/iiit-hyderabad/databases/e98579.json delete mode 100644 specifications/iiit-hyderabad/databases/e98580.json delete mode 100644 specifications/iiit-hyderabad/databases/e98581.json delete mode 100644 specifications/iiit-hyderabad/databases/e98582.json delete mode 100644 specifications/iiit-hyderabad/databases/e98583.json delete mode 100644 specifications/iiit-hyderabad/databases/e98584.json delete mode 100644 specifications/iiit-hyderabad/electromagnetic-theory/dump_json_to_lds.py delete mode 100644 specifications/iiit-hyderabad/electromagnetic-theory/e98565.json delete mode 100644 specifications/iiit-hyderabad/electromagnetic-theory/e98566.json delete mode 100644 specifications/iiit-hyderabad/electromagnetic-theory/e98567.json delete mode 100644 specifications/iiit-hyderabad/electromagnetic-theory/e98568.json delete mode 100644 specifications/iiit-hyderabad/electromagnetic-theory/e98569.json delete mode 100644 specifications/iiit-hyderabad/electromagnetic-theory/e98570.json delete mode 100644 specifications/iiit-hyderabad/electromagnetic-theory/e98571.json delete mode 100644 specifications/iiit-hyderabad/electromagnetic-theory/e98572.json delete mode 100644 specifications/iiit-hyderabad/electromagnetic-theory/e98573.json delete mode 100644 specifications/iiit-hyderabad/electromagnetic-theory/e98574.json delete mode 100644 specifications/iiit-hyderabad/electromagnetic-theory/electromagnetic-theory.json delete mode 100644 specifications/iiit-hyderabad/geotechnical-engineering/dump_json_to_lds.py delete mode 100644 specifications/iiit-hyderabad/geotechnical-engineering/e98751.json delete mode 100644 specifications/iiit-hyderabad/geotechnical-engineering/geotechnical-engineering.json delete mode 100644 specifications/iiit-hyderabad/linux-lab/dump_json_to_lds.py delete mode 100644 specifications/iiit-hyderabad/linux-lab/e98599.json delete mode 100644 specifications/iiit-hyderabad/linux-lab/e98600.json delete mode 100644 specifications/iiit-hyderabad/linux-lab/e98601.json delete mode 100644 specifications/iiit-hyderabad/linux-lab/e98602.json delete mode 100644 specifications/iiit-hyderabad/linux-lab/e98603.json delete mode 100644 specifications/iiit-hyderabad/linux-lab/e98604.json delete mode 100644 specifications/iiit-hyderabad/linux-lab/e98605.json delete mode 100644 specifications/iiit-hyderabad/linux-lab/e98606.json delete mode 100644 specifications/iiit-hyderabad/linux-lab/e99945.json delete mode 100644 specifications/iiit-hyderabad/linux-lab/linux-lab.json delete mode 100644 specifications/iiit-hyderabad/mobile-robotics/dump_json_to_lds.py delete mode 100644 specifications/iiit-hyderabad/mobile-robotics/e98616.json delete mode 100644 specifications/iiit-hyderabad/mobile-robotics/e98617.json delete mode 100644 specifications/iiit-hyderabad/mobile-robotics/e98618.json delete mode 100644 specifications/iiit-hyderabad/mobile-robotics/e98619.json delete mode 100644 specifications/iiit-hyderabad/mobile-robotics/e98620.json delete mode 100644 specifications/iiit-hyderabad/mobile-robotics/e98621.json delete mode 100644 specifications/iiit-hyderabad/mobile-robotics/e98622.json delete mode 100644 specifications/iiit-hyderabad/mobile-robotics/e98623.json delete mode 100644 specifications/iiit-hyderabad/mobile-robotics/e98624.json delete mode 100644 specifications/iiit-hyderabad/mobile-robotics/e98625.json delete mode 100644 specifications/iiit-hyderabad/mobile-robotics/mobile-robotics.json delete mode 100644 specifications/iiit-hyderabad/optical-remote-sensing/dump_json_to_lds.py delete mode 100644 specifications/iiit-hyderabad/optical-remote-sensing/e98593.json delete mode 100644 specifications/iiit-hyderabad/optical-remote-sensing/e98594.json delete mode 100644 specifications/iiit-hyderabad/optical-remote-sensing/e98595.json delete mode 100644 specifications/iiit-hyderabad/optical-remote-sensing/e98596.json delete mode 100644 specifications/iiit-hyderabad/optical-remote-sensing/e98597.json delete mode 100644 specifications/iiit-hyderabad/optical-remote-sensing/e98598.json delete mode 100644 specifications/iiit-hyderabad/optical-remote-sensing/e99978.json delete mode 100644 specifications/iiit-hyderabad/optical-remote-sensing/optical-remote-sensing.json delete mode 100644 specifications/iiit-hyderabad/physical-sciences/dump_json_to_lds.py delete mode 100644 specifications/iiit-hyderabad/physical-sciences/e98732.json delete mode 100644 specifications/iiit-hyderabad/physical-sciences/e98733.json delete mode 100644 specifications/iiit-hyderabad/physical-sciences/e98734.json delete mode 100644 specifications/iiit-hyderabad/physical-sciences/e98735.json delete mode 100644 specifications/iiit-hyderabad/physical-sciences/e98736.json delete mode 100644 specifications/iiit-hyderabad/physical-sciences/e98737.json delete mode 100644 specifications/iiit-hyderabad/physical-sciences/e99269.json delete mode 100644 specifications/iiit-hyderabad/physical-sciences/e99477.json delete mode 100644 specifications/iiit-hyderabad/physical-sciences/physical-sciences.json delete mode 100644 specifications/iiit-hyderabad/principles-of-programming-languages/dump_json_to_lds.py delete mode 100644 specifications/iiit-hyderabad/principles-of-programming-languages/e98607.json delete mode 100644 specifications/iiit-hyderabad/principles-of-programming-languages/e98608.json delete mode 100644 specifications/iiit-hyderabad/principles-of-programming-languages/e98609.json delete mode 100644 specifications/iiit-hyderabad/principles-of-programming-languages/e98610.json delete mode 100644 specifications/iiit-hyderabad/principles-of-programming-languages/e98611.json delete mode 100644 specifications/iiit-hyderabad/principles-of-programming-languages/e98612.json delete mode 100644 specifications/iiit-hyderabad/principles-of-programming-languages/e98613.json delete mode 100644 specifications/iiit-hyderabad/principles-of-programming-languages/e98614.json delete mode 100644 specifications/iiit-hyderabad/principles-of-programming-languages/e98615.json delete mode 100644 specifications/iiit-hyderabad/principles-of-programming-languages/principles-of-programming-languages.json delete mode 100644 specifications/iiit-hyderabad/quantum-chemistry/dump_json_to_lds.py delete mode 100644 specifications/iiit-hyderabad/quantum-chemistry/e98536.json delete mode 100644 specifications/iiit-hyderabad/quantum-chemistry/e98537.json delete mode 100644 specifications/iiit-hyderabad/quantum-chemistry/e98538.json delete mode 100644 specifications/iiit-hyderabad/quantum-chemistry/e98539.json delete mode 100644 specifications/iiit-hyderabad/quantum-chemistry/e98540.json delete mode 100644 specifications/iiit-hyderabad/quantum-chemistry/e98541.json delete mode 100644 specifications/iiit-hyderabad/quantum-chemistry/e98542.json delete mode 100644 specifications/iiit-hyderabad/quantum-chemistry/e98543.json delete mode 100644 specifications/iiit-hyderabad/quantum-chemistry/e98544.json delete mode 100644 specifications/iiit-hyderabad/quantum-chemistry/quantum-chemistry.json delete mode 100644 specifications/iiit-hyderabad/soil-mechanics-lab/dump_json_to_lds.py delete mode 100644 specifications/iiit-hyderabad/soil-mechanics-lab/e98545.json delete mode 100644 specifications/iiit-hyderabad/soil-mechanics-lab/e98546.json delete mode 100644 specifications/iiit-hyderabad/soil-mechanics-lab/e98547.json delete mode 100644 specifications/iiit-hyderabad/soil-mechanics-lab/e98548.json delete mode 100644 specifications/iiit-hyderabad/soil-mechanics-lab/e98549.json delete mode 100644 specifications/iiit-hyderabad/soil-mechanics-lab/e98550.json delete mode 100644 specifications/iiit-hyderabad/soil-mechanics-lab/e98551.json delete mode 100644 specifications/iiit-hyderabad/soil-mechanics-lab/e98552.json delete mode 100644 specifications/iiit-hyderabad/soil-mechanics-lab/e98553.json delete mode 100644 specifications/iiit-hyderabad/soil-mechanics-lab/e98554.json delete mode 100644 specifications/iiit-hyderabad/soil-mechanics-lab/soil-mechanics-lab.json delete mode 100644 specifications/iiit-hyderabad/speech-signal-processing/dump_json_to_lds.py delete mode 100644 specifications/iiit-hyderabad/speech-signal-processing/e98738.json delete mode 100644 specifications/iiit-hyderabad/speech-signal-processing/e98739.json delete mode 100644 specifications/iiit-hyderabad/speech-signal-processing/e98740.json delete mode 100644 specifications/iiit-hyderabad/speech-signal-processing/e98741.json delete mode 100644 specifications/iiit-hyderabad/speech-signal-processing/e98742.json delete mode 100644 specifications/iiit-hyderabad/speech-signal-processing/e98743.json delete mode 100644 specifications/iiit-hyderabad/speech-signal-processing/e98744.json delete mode 100644 specifications/iiit-hyderabad/speech-signal-processing/e98745.json delete mode 100644 specifications/iiit-hyderabad/speech-signal-processing/e98746.json delete mode 100644 specifications/iiit-hyderabad/speech-signal-processing/e98747.json delete mode 100644 specifications/iiit-hyderabad/speech-signal-processing/speech-signal-processing.json delete mode 100644 specifications/iiit-hyderabad/structural-dynamics/dump_json_to_lds.py delete mode 100644 specifications/iiit-hyderabad/structural-dynamics/e98517.json delete mode 100644 specifications/iiit-hyderabad/structural-dynamics/e98518.json delete mode 100644 specifications/iiit-hyderabad/structural-dynamics/e98724.json delete mode 100644 specifications/iiit-hyderabad/structural-dynamics/e98725.json delete mode 100644 specifications/iiit-hyderabad/structural-dynamics/e98726.json delete mode 100644 specifications/iiit-hyderabad/structural-dynamics/e98727.json delete mode 100644 specifications/iiit-hyderabad/structural-dynamics/e98728.json delete mode 100644 specifications/iiit-hyderabad/structural-dynamics/e98729.json delete mode 100644 specifications/iiit-hyderabad/structural-dynamics/e98730.json delete mode 100644 specifications/iiit-hyderabad/structural-dynamics/e98731.json delete mode 100644 specifications/iiit-hyderabad/structural-dynamics/structural-dynamics.json delete mode 100644 specifications/iiit-hyderabad/virtual-advanced-vlsi-lab/dump_json_to_lds.py delete mode 100644 specifications/iiit-hyderabad/virtual-advanced-vlsi-lab/e98585.json delete mode 100644 specifications/iiit-hyderabad/virtual-advanced-vlsi-lab/e98586.json delete mode 100644 specifications/iiit-hyderabad/virtual-advanced-vlsi-lab/e98587.json delete mode 100644 specifications/iiit-hyderabad/virtual-advanced-vlsi-lab/e98588.json delete mode 100644 specifications/iiit-hyderabad/virtual-advanced-vlsi-lab/e98589.json delete mode 100644 specifications/iiit-hyderabad/virtual-advanced-vlsi-lab/e98590.json delete mode 100644 specifications/iiit-hyderabad/virtual-advanced-vlsi-lab/e98591.json delete mode 100644 specifications/iiit-hyderabad/virtual-advanced-vlsi-lab/e98592.json delete mode 100644 specifications/iiit-hyderabad/virtual-advanced-vlsi-lab/e99488.json delete mode 100644 specifications/iiit-hyderabad/virtual-advanced-vlsi-lab/virtual-advanced-vlsi-lab.json delete mode 100644 specifications/iit-bombay/electronic-design-using-dsp,fpga,cpld-and-micro-controllers/dump_json_to_lds.py delete mode 100644 specifications/iit-bombay/electronic-design-using-dsp,fpga,cpld-and-micro-controllers/e99042.json delete mode 100644 specifications/iit-bombay/electronic-design-using-dsp,fpga,cpld-and-micro-controllers/electronic-design-using-dsp,fpga,cpld-and-micro-controllers.json delete mode 100644 specifications/iit-bombay/modern-digital-design-lab/dump_json_to_lds.py delete mode 100644 specifications/iit-bombay/modern-digital-design-lab/e99008.json delete mode 100644 specifications/iit-bombay/modern-digital-design-lab/e99009.json delete mode 100644 specifications/iit-bombay/modern-digital-design-lab/e99010.json delete mode 100644 specifications/iit-bombay/modern-digital-design-lab/e99011.json delete mode 100644 specifications/iit-bombay/modern-digital-design-lab/e99012.json delete mode 100644 specifications/iit-bombay/modern-digital-design-lab/e99013.json delete mode 100644 specifications/iit-bombay/modern-digital-design-lab/e99014.json delete mode 100644 specifications/iit-bombay/modern-digital-design-lab/e99015.json delete mode 100644 specifications/iit-bombay/modern-digital-design-lab/e99016.json delete mode 100644 specifications/iit-bombay/modern-digital-design-lab/modern-digital-design-lab.json delete mode 100644 specifications/iit-bombay/satellite-image-processing-lab/dump_json_to_lds.py delete mode 100644 specifications/iit-bombay/satellite-image-processing-lab/e98944.json delete mode 100644 specifications/iit-bombay/satellite-image-processing-lab/satellite-image-processing-lab.json delete mode 100644 specifications/iit-bombay/urban-transportation-systems-planning-lab/dump_json_to_lds.py delete mode 100644 specifications/iit-bombay/urban-transportation-systems-planning-lab/e98932.json delete mode 100644 specifications/iit-bombay/urban-transportation-systems-planning-lab/e98933.json delete mode 100644 specifications/iit-bombay/urban-transportation-systems-planning-lab/e98934.json delete mode 100644 specifications/iit-bombay/urban-transportation-systems-planning-lab/e98935.json delete mode 100644 specifications/iit-bombay/urban-transportation-systems-planning-lab/e98936.json delete mode 100644 specifications/iit-bombay/urban-transportation-systems-planning-lab/e98937.json delete mode 100644 specifications/iit-bombay/urban-transportation-systems-planning-lab/e98938.json delete mode 100644 specifications/iit-bombay/urban-transportation-systems-planning-lab/e98939.json delete mode 100644 specifications/iit-bombay/urban-transportation-systems-planning-lab/e98940.json delete mode 100644 specifications/iit-bombay/urban-transportation-systems-planning-lab/e98941.json delete mode 100644 specifications/iit-bombay/urban-transportation-systems-planning-lab/e98942.json delete mode 100644 specifications/iit-bombay/urban-transportation-systems-planning-lab/e98943.json delete mode 100644 specifications/iit-bombay/urban-transportation-systems-planning-lab/urban-transportation-systems-planning-lab.json delete mode 100644 specifications/iit-delhi/bioreactor-modeling-&-simulation-lab/bioreactor-modeling-&-simulation-lab.json delete mode 100644 specifications/iit-delhi/bioreactor-modeling-&-simulation-lab/dump_json_to_lds.py delete mode 100644 specifications/iit-delhi/bioreactor-modeling-&-simulation-lab/e98893.json delete mode 100644 specifications/iit-delhi/bioreactor-modeling-&-simulation-lab/e98897.json delete mode 100644 specifications/iit-delhi/bioreactor-modeling-&-simulation-lab/e98898.json delete mode 100644 specifications/iit-delhi/bioreactor-modeling-&-simulation-lab/e98899.json delete mode 100644 specifications/iit-delhi/bioreactor-modeling-&-simulation-lab/e98900.json delete mode 100644 specifications/iit-delhi/bioreactor-modeling-&-simulation-lab/e98901.json delete mode 100644 specifications/iit-delhi/bioreactor-modeling-&-simulation-lab/e98902.json delete mode 100644 specifications/iit-delhi/bioreactor-modeling-&-simulation-lab/e98903.json delete mode 100644 specifications/iit-delhi/bioreactor-modeling-&-simulation-lab/e98904.json delete mode 100644 specifications/iit-delhi/bioreactor-modeling-&-simulation-lab/e98905.json delete mode 100644 specifications/iit-delhi/bioreactor-modeling-&-simulation-lab/e98906.json delete mode 100644 specifications/iit-delhi/bioreactor-modeling-&-simulation-lab/e98907.json delete mode 100644 specifications/iit-delhi/bioreactor-modeling-&-simulation-lab/e98908.json delete mode 100644 specifications/iit-delhi/bioreactor-modeling-&-simulation-lab/e98909.json delete mode 100644 specifications/iit-delhi/bioreactor-modeling-&-simulation-lab/e98910.json delete mode 100644 specifications/iit-delhi/bioreactor-modeling-&-simulation-lab/e98911.json delete mode 100644 specifications/iit-delhi/bioreactor-modeling-&-simulation-lab/e98912.json delete mode 100644 specifications/iit-delhi/bioreactor-modeling-&-simulation-lab/e98913.json delete mode 100644 specifications/iit-delhi/bioreactor-modeling-&-simulation-lab/e98914.json delete mode 100644 specifications/iit-delhi/bioreactor-modeling-&-simulation-lab/e98915.json delete mode 100644 specifications/iit-delhi/bioreactor-modeling-&-simulation-lab/e98916.json delete mode 100644 specifications/iit-delhi/bioreactor-modeling-&-simulation-lab/e98917.json delete mode 100644 specifications/iit-delhi/bioreactor-modeling-&-simulation-lab/e98918.json delete mode 100644 specifications/iit-delhi/bioreactor-modeling-&-simulation-lab/e98919.json delete mode 100644 specifications/iit-delhi/engineering-electromagnetic-lab/dump_json_to_lds.py delete mode 100644 specifications/iit-delhi/engineering-electromagnetic-lab/e98763.json delete mode 100644 specifications/iit-delhi/engineering-electromagnetic-lab/engineering-electromagnetic-lab.json delete mode 100644 specifications/iit-delhi/virtual-microwave-&-antenna-laboratory/E98756.json delete mode 100644 specifications/iit-delhi/virtual-microwave-&-antenna-laboratory/dump_json_to_lds.py delete mode 100644 specifications/iit-delhi/virtual-microwave-&-antenna-laboratory/e98756.json delete mode 100644 specifications/iit-delhi/virtual-microwave-&-antenna-laboratory/e98757.json delete mode 100644 specifications/iit-delhi/virtual-microwave-&-antenna-laboratory/e98758.json delete mode 100644 specifications/iit-delhi/virtual-microwave-&-antenna-laboratory/e98759.json delete mode 100644 specifications/iit-delhi/virtual-microwave-&-antenna-laboratory/e98760.json delete mode 100644 specifications/iit-delhi/virtual-microwave-&-antenna-laboratory/e98761.json delete mode 100644 specifications/iit-delhi/virtual-microwave-&-antenna-laboratory/e98762.json delete mode 100644 specifications/iit-delhi/virtual-microwave-&-antenna-laboratory/virtual-microwave-&-antenna-laboratory.json delete mode 100644 specifications/iit-delhi/virtual-power-electronics-and-electric-drives-lab/dump_json_to_lds.py delete mode 100644 specifications/iit-delhi/virtual-power-electronics-and-electric-drives-lab/e99136.json delete mode 100644 specifications/iit-delhi/virtual-power-electronics-and-electric-drives-lab/e99137.json delete mode 100644 specifications/iit-delhi/virtual-power-electronics-and-electric-drives-lab/e99138.json delete mode 100644 specifications/iit-delhi/virtual-power-electronics-and-electric-drives-lab/e99139.json delete mode 100644 specifications/iit-delhi/virtual-power-electronics-and-electric-drives-lab/e99140.json delete mode 100644 specifications/iit-delhi/virtual-power-electronics-and-electric-drives-lab/e99141.json delete mode 100644 specifications/iit-delhi/virtual-power-electronics-and-electric-drives-lab/e99142.json delete mode 100644 specifications/iit-delhi/virtual-power-electronics-and-electric-drives-lab/e99143.json delete mode 100644 specifications/iit-delhi/virtual-power-electronics-and-electric-drives-lab/e99144.json delete mode 100644 specifications/iit-delhi/virtual-power-electronics-and-electric-drives-lab/e99145.json delete mode 100644 specifications/iit-delhi/virtual-power-electronics-and-electric-drives-lab/e99146.json delete mode 100644 specifications/iit-delhi/virtual-power-electronics-and-electric-drives-lab/e99147.json delete mode 100644 specifications/iit-delhi/virtual-power-electronics-and-electric-drives-lab/e99148.json delete mode 100644 specifications/iit-delhi/virtual-power-electronics-and-electric-drives-lab/e99149.json delete mode 100644 specifications/iit-delhi/virtual-power-electronics-and-electric-drives-lab/virtual-power-electronics-and-electric-drives-lab.json delete mode 100644 specifications/iit-guwahati/creative-design,-prototyping-&-experiential-simulation-in-human-computer-interaction-(hci)/creative-design,-prototyping-&-experiential-simulation-in-human-computer-interaction-(hci).json delete mode 100644 specifications/iit-guwahati/creative-design,-prototyping-&-experiential-simulation-in-human-computer-interaction-(hci)/dump_json_to_lds.py delete mode 100644 specifications/iit-guwahati/creative-design,-prototyping-&-experiential-simulation-in-human-computer-interaction-(hci)/e98673.json delete mode 100644 specifications/iit-guwahati/creative-design,-prototyping-&-experiential-simulation-in-human-computer-interaction-(hci)/e98674.json delete mode 100644 specifications/iit-guwahati/creative-design,-prototyping-&-experiential-simulation-in-human-computer-interaction-(hci)/e98675.json delete mode 100644 specifications/iit-guwahati/creative-design,-prototyping-&-experiential-simulation-in-human-computer-interaction-(hci)/e98676.json delete mode 100644 specifications/iit-guwahati/creative-design,-prototyping-&-experiential-simulation-in-human-computer-interaction-(hci)/e98677.json delete mode 100644 specifications/iit-guwahati/creative-design,-prototyping-&-experiential-simulation-in-human-computer-interaction-(hci)/e98678.json delete mode 100644 specifications/iit-guwahati/creative-design,-prototyping-&-experiential-simulation-in-human-computer-interaction-(hci)/e98679.json delete mode 100644 specifications/iit-guwahati/creative-design,-prototyping-&-experiential-simulation-in-human-computer-interaction-(hci)/e98680.json delete mode 100644 specifications/iit-guwahati/creative-design,-prototyping-&-experiential-simulation-in-human-computer-interaction-(hci)/e98681.json delete mode 100644 specifications/iit-guwahati/creative-design,-prototyping-&-experiential-simulation-in-human-computer-interaction-(hci)/e98682.json delete mode 100644 specifications/iit-guwahati/creative-design,-prototyping-&-experiential-simulation-in-human-computer-interaction-(hci)/e98683.json delete mode 100644 specifications/iit-guwahati/creative-design,-prototyping-&-experiential-simulation-in-human-computer-interaction-(hci)/e98684.json delete mode 100644 specifications/iit-guwahati/creative-design,-prototyping-&-experiential-simulation-in-human-computer-interaction-(hci)/e98685.json delete mode 100644 specifications/iit-guwahati/creative-design,-prototyping-&-experiential-simulation-in-human-computer-interaction-(hci)/e98686.json delete mode 100644 specifications/iit-guwahati/creative-design,-prototyping-&-experiential-simulation-in-human-computer-interaction-(hci)/e98687.json delete mode 100644 specifications/iit-guwahati/creative-design,-prototyping-&-experiential-simulation-in-human-computer-interaction-(hci)/e98688.json delete mode 100644 specifications/iit-guwahati/remote-triggered-electromechanical-conversion-laboratory/dump_json_to_lds.py delete mode 100644 specifications/iit-guwahati/remote-triggered-electromechanical-conversion-laboratory/e98699.json delete mode 100644 specifications/iit-guwahati/remote-triggered-electromechanical-conversion-laboratory/e98700.json delete mode 100644 specifications/iit-guwahati/remote-triggered-electromechanical-conversion-laboratory/e98701.json delete mode 100644 specifications/iit-guwahati/remote-triggered-electromechanical-conversion-laboratory/remote-triggered-electromechanical-conversion-laboratory.json delete mode 100644 specifications/iit-guwahati/remote-triggered-fiber-optics-communication-lab/dump_json_to_lds.py delete mode 100644 specifications/iit-guwahati/remote-triggered-fiber-optics-communication-lab/e98667.json delete mode 100644 specifications/iit-guwahati/remote-triggered-fiber-optics-communication-lab/e98668.json delete mode 100644 specifications/iit-guwahati/remote-triggered-fiber-optics-communication-lab/e98669.json delete mode 100644 specifications/iit-guwahati/remote-triggered-fiber-optics-communication-lab/e98670.json delete mode 100644 specifications/iit-guwahati/remote-triggered-fiber-optics-communication-lab/e98671.json delete mode 100644 specifications/iit-guwahati/remote-triggered-fiber-optics-communication-lab/e98672.json delete mode 100644 specifications/iit-guwahati/remote-triggered-fiber-optics-communication-lab/remote-triggered-fiber-optics-communication-lab.json delete mode 100644 specifications/iit-guwahati/speech-signal-processing-laboratory/dump_json_to_lds.py delete mode 100644 specifications/iit-guwahati/speech-signal-processing-laboratory/e98647.json delete mode 100644 specifications/iit-guwahati/speech-signal-processing-laboratory/e98648.json delete mode 100644 specifications/iit-guwahati/speech-signal-processing-laboratory/e98649.json delete mode 100644 specifications/iit-guwahati/speech-signal-processing-laboratory/e98650.json delete mode 100644 specifications/iit-guwahati/speech-signal-processing-laboratory/e98651.json delete mode 100644 specifications/iit-guwahati/speech-signal-processing-laboratory/e98652.json delete mode 100644 specifications/iit-guwahati/speech-signal-processing-laboratory/e98653.json delete mode 100644 specifications/iit-guwahati/speech-signal-processing-laboratory/e98654.json delete mode 100644 specifications/iit-guwahati/speech-signal-processing-laboratory/e98655.json delete mode 100644 specifications/iit-guwahati/speech-signal-processing-laboratory/e98656.json delete mode 100644 specifications/iit-guwahati/speech-signal-processing-laboratory/e98657.json delete mode 100644 specifications/iit-guwahati/speech-signal-processing-laboratory/speech-signal-processing-laboratory.json delete mode 100644 specifications/iit-guwahati/systems,-communication-and-control-laboratory/dump_json_to_lds.py delete mode 100644 specifications/iit-guwahati/systems,-communication-and-control-laboratory/e98689.json delete mode 100644 specifications/iit-guwahati/systems,-communication-and-control-laboratory/e98690.json delete mode 100644 specifications/iit-guwahati/systems,-communication-and-control-laboratory/e98691.json delete mode 100644 specifications/iit-guwahati/systems,-communication-and-control-laboratory/e98692.json delete mode 100644 specifications/iit-guwahati/systems,-communication-and-control-laboratory/e98693.json delete mode 100644 specifications/iit-guwahati/systems,-communication-and-control-laboratory/e98694.json delete mode 100644 specifications/iit-guwahati/systems,-communication-and-control-laboratory/e98695.json delete mode 100644 specifications/iit-guwahati/systems,-communication-and-control-laboratory/e98696.json delete mode 100644 specifications/iit-guwahati/systems,-communication-and-control-laboratory/e98697.json delete mode 100644 specifications/iit-guwahati/systems,-communication-and-control-laboratory/e98698.json delete mode 100644 specifications/iit-guwahati/systems,-communication-and-control-laboratory/systems,-communication-and-control-laboratory.json delete mode 100644 specifications/iit-guwahati/virtual-interactive-lab/dump_json_to_lds.py delete mode 100644 specifications/iit-guwahati/virtual-interactive-lab/e98658.json delete mode 100644 specifications/iit-guwahati/virtual-interactive-lab/e98659.json delete mode 100644 specifications/iit-guwahati/virtual-interactive-lab/e98660.json delete mode 100644 specifications/iit-guwahati/virtual-interactive-lab/e98661.json delete mode 100644 specifications/iit-guwahati/virtual-interactive-lab/e98662.json delete mode 100644 specifications/iit-guwahati/virtual-interactive-lab/e98663.json delete mode 100644 specifications/iit-guwahati/virtual-interactive-lab/e98664.json delete mode 100644 specifications/iit-guwahati/virtual-interactive-lab/e98665.json delete mode 100644 specifications/iit-guwahati/virtual-interactive-lab/e98666.json delete mode 100644 specifications/iit-guwahati/virtual-interactive-lab/virtual-interactive-lab.json delete mode 100644 specifications/iit-kanpur/low-temperature-electrical-transport-and-property-measurements/dump_json_to_lds.py delete mode 100644 specifications/iit-kanpur/low-temperature-electrical-transport-and-property-measurements/e98470.json delete mode 100644 specifications/iit-kanpur/low-temperature-electrical-transport-and-property-measurements/low-temperature-electrical-transport-and-property-measurements.json delete mode 100644 specifications/iit-kanpur/materials-thermal-processing-and-microstructural-characterization/dump_json_to_lds.py delete mode 100644 specifications/iit-kanpur/materials-thermal-processing-and-microstructural-characterization/e98476.json delete mode 100644 specifications/iit-kanpur/materials-thermal-processing-and-microstructural-characterization/e98477.json delete mode 100644 specifications/iit-kanpur/materials-thermal-processing-and-microstructural-characterization/e98478.json delete mode 100644 specifications/iit-kanpur/materials-thermal-processing-and-microstructural-characterization/materials-thermal-processing-and-microstructural-characterization.json delete mode 100644 specifications/iit-kanpur/nanocomposite-fabrication-and-biomaterials-and-signal-processing-laboratory/dump_json_to_lds.py delete mode 100644 specifications/iit-kanpur/nanocomposite-fabrication-and-biomaterials-and-signal-processing-laboratory/e98460.json delete mode 100644 specifications/iit-kanpur/nanocomposite-fabrication-and-biomaterials-and-signal-processing-laboratory/e98461.json delete mode 100644 specifications/iit-kanpur/nanocomposite-fabrication-and-biomaterials-and-signal-processing-laboratory/e98462.json delete mode 100644 specifications/iit-kanpur/nanocomposite-fabrication-and-biomaterials-and-signal-processing-laboratory/e98463.json delete mode 100644 specifications/iit-kanpur/nanocomposite-fabrication-and-biomaterials-and-signal-processing-laboratory/nanocomposite-fabrication-and-biomaterials-and-signal-processing-laboratory.json delete mode 100644 specifications/iit-kanpur/oscillations/dump_json_to_lds.py delete mode 100644 specifications/iit-kanpur/oscillations/e98402.json delete mode 100644 specifications/iit-kanpur/oscillations/e98403.json delete mode 100644 specifications/iit-kanpur/oscillations/e98404.json delete mode 100644 specifications/iit-kanpur/oscillations/e98405.json delete mode 100644 specifications/iit-kanpur/oscillations/e98406.json delete mode 100644 specifications/iit-kanpur/oscillations/e98407.json delete mode 100644 specifications/iit-kanpur/oscillations/e98408.json delete mode 100644 specifications/iit-kanpur/oscillations/e98409.json delete mode 100644 specifications/iit-kanpur/oscillations/e98410.json delete mode 100644 specifications/iit-kanpur/oscillations/e98411.json delete mode 100644 specifications/iit-kanpur/oscillations/oscillations.json delete mode 100644 specifications/iit-kanpur/physical-sciences-optical-device-characterizations/dump_json_to_lds.py delete mode 100644 specifications/iit-kanpur/physical-sciences-optical-device-characterizations/e98489.json delete mode 100644 specifications/iit-kanpur/physical-sciences-optical-device-characterizations/e98490.json delete mode 100644 specifications/iit-kanpur/physical-sciences-optical-device-characterizations/e98491.json delete mode 100644 specifications/iit-kanpur/physical-sciences-optical-device-characterizations/e98492.json delete mode 100644 specifications/iit-kanpur/physical-sciences-optical-device-characterizations/physical-sciences-optical-device-characterizations.json delete mode 100644 specifications/iit-kanpur/rf-and-microwave-characterization-lab/dump_json_to_lds.py delete mode 100644 specifications/iit-kanpur/rf-and-microwave-characterization-lab/e98496.json delete mode 100644 specifications/iit-kanpur/rf-and-microwave-characterization-lab/e98497.json delete mode 100644 specifications/iit-kanpur/rf-and-microwave-characterization-lab/e98498.json delete mode 100644 specifications/iit-kanpur/rf-and-microwave-characterization-lab/e98499.json delete mode 100644 specifications/iit-kanpur/rf-and-microwave-characterization-lab/e98500.json delete mode 100644 specifications/iit-kanpur/rf-and-microwave-characterization-lab/e98501.json delete mode 100644 specifications/iit-kanpur/rf-and-microwave-characterization-lab/e98502.json delete mode 100644 specifications/iit-kanpur/rf-and-microwave-characterization-lab/e98503.json delete mode 100644 specifications/iit-kanpur/rf-and-microwave-characterization-lab/e98504.json delete mode 100644 specifications/iit-kanpur/rf-and-microwave-characterization-lab/e98505.json delete mode 100644 specifications/iit-kanpur/rf-and-microwave-characterization-lab/rf-and-microwave-characterization-lab.json delete mode 100644 specifications/iit-kanpur/transducer-and-instrumentation-virtual-lab/dump_json_to_lds.py delete mode 100644 specifications/iit-kanpur/transducer-and-instrumentation-virtual-lab/e98506.json delete mode 100644 specifications/iit-kanpur/transducer-and-instrumentation-virtual-lab/e98507.json delete mode 100644 specifications/iit-kanpur/transducer-and-instrumentation-virtual-lab/e98508.json delete mode 100644 specifications/iit-kanpur/transducer-and-instrumentation-virtual-lab/e98509.json delete mode 100644 specifications/iit-kanpur/transducer-and-instrumentation-virtual-lab/e98510.json delete mode 100644 specifications/iit-kanpur/transducer-and-instrumentation-virtual-lab/e98511.json delete mode 100644 specifications/iit-kanpur/transducer-and-instrumentation-virtual-lab/e98512.json delete mode 100644 specifications/iit-kanpur/transducer-and-instrumentation-virtual-lab/e98513.json delete mode 100644 specifications/iit-kanpur/transducer-and-instrumentation-virtual-lab/e98514.json delete mode 100644 specifications/iit-kanpur/transducer-and-instrumentation-virtual-lab/e98515.json delete mode 100644 specifications/iit-kanpur/transducer-and-instrumentation-virtual-lab/e98516.json delete mode 100644 specifications/iit-kanpur/transducer-and-instrumentation-virtual-lab/transducer-and-instrumentation-virtual-lab.json delete mode 100644 specifications/iit-kharagpur/advanced-network-technologies-virtual-lab/advanced-network-technologies-virtual-lab.json delete mode 100644 specifications/iit-kharagpur/advanced-network-technologies-virtual-lab/dump_json_to_lds.py delete mode 100644 specifications/iit-kharagpur/advanced-network-technologies-virtual-lab/e98964.json delete mode 100644 specifications/iit-kharagpur/advanced-network-technologies-virtual-lab/e98965.json delete mode 100644 specifications/iit-kharagpur/advanced-network-technologies-virtual-lab/e98966.json delete mode 100644 specifications/iit-kharagpur/advanced-network-technologies-virtual-lab/e98967.json delete mode 100644 specifications/iit-kharagpur/advanced-network-technologies-virtual-lab/e98968.json delete mode 100644 specifications/iit-kharagpur/advanced-network-technologies-virtual-lab/e98969.json delete mode 100644 specifications/iit-kharagpur/advanced-network-technologies-virtual-lab/e98970.json delete mode 100644 specifications/iit-kharagpur/advanced-network-technologies-virtual-lab/e98971.json delete mode 100644 specifications/iit-kharagpur/advanced-network-technologies-virtual-lab/e98972.json delete mode 100644 specifications/iit-kharagpur/advanced-network-technologies-virtual-lab/e98973.json delete mode 100644 specifications/iit-kharagpur/analog-signals,network-and-measurement-laboratory/analog-signals,network-and-measurement-laboratory.json delete mode 100644 specifications/iit-kharagpur/analog-signals,network-and-measurement-laboratory/dump_json_to_lds.py delete mode 100644 specifications/iit-kharagpur/analog-signals,network-and-measurement-laboratory/e99106.json delete mode 100644 specifications/iit-kharagpur/analog-signals,network-and-measurement-laboratory/e99107.json delete mode 100644 specifications/iit-kharagpur/analog-signals,network-and-measurement-laboratory/e99108.json delete mode 100644 specifications/iit-kharagpur/analog-signals,network-and-measurement-laboratory/e99109.json delete mode 100644 specifications/iit-kharagpur/analog-signals,network-and-measurement-laboratory/e99110.json delete mode 100644 specifications/iit-kharagpur/analog-signals,network-and-measurement-laboratory/e99111.json delete mode 100644 specifications/iit-kharagpur/analog-signals,network-and-measurement-laboratory/e99112.json delete mode 100644 specifications/iit-kharagpur/analog-signals,network-and-measurement-laboratory/e99113.json delete mode 100644 specifications/iit-kharagpur/analog-signals,network-and-measurement-laboratory/e99114.json delete mode 100644 specifications/iit-kharagpur/analog-signals,network-and-measurement-laboratory/e99115.json delete mode 100644 specifications/iit-kharagpur/analog-signals,network-and-measurement-laboratory/e99116.json delete mode 100644 specifications/iit-kharagpur/analog-signals,network-and-measurement-laboratory/e99117.json delete mode 100644 specifications/iit-kharagpur/analog-signals,network-and-measurement-laboratory/e99118.json delete mode 100644 specifications/iit-kharagpur/analog-signals,network-and-measurement-laboratory/e99119.json delete mode 100644 specifications/iit-kharagpur/analog-signals,network-and-measurement-laboratory/e99120.json delete mode 100644 specifications/iit-kharagpur/analog-signals,network-and-measurement-laboratory/e99121.json delete mode 100644 specifications/iit-kharagpur/analog-signals,network-and-measurement-laboratory/e99122.json delete mode 100644 specifications/iit-kharagpur/analog-signals,network-and-measurement-laboratory/e99123.json delete mode 100644 specifications/iit-kharagpur/analog-signals,network-and-measurement-laboratory/e99124.json delete mode 100644 specifications/iit-kharagpur/analog-signals,network-and-measurement-laboratory/e99125.json delete mode 100644 specifications/iit-kharagpur/analog-signals,network-and-measurement-laboratory/e99126.json delete mode 100644 specifications/iit-kharagpur/analog-signals,network-and-measurement-laboratory/e99127.json delete mode 100644 specifications/iit-kharagpur/analog-signals,network-and-measurement-laboratory/e99128.json delete mode 100644 specifications/iit-kharagpur/analog-signals,network-and-measurement-laboratory/e99129.json delete mode 100644 specifications/iit-kharagpur/analog-signals,network-and-measurement-laboratory/e99130.json delete mode 100644 specifications/iit-kharagpur/analog-signals,network-and-measurement-laboratory/e99131.json delete mode 100644 specifications/iit-kharagpur/analog-signals,network-and-measurement-laboratory/e99132.json delete mode 100644 specifications/iit-kharagpur/analog-signals,network-and-measurement-laboratory/e99133.json delete mode 100644 specifications/iit-kharagpur/analog-signals,network-and-measurement-laboratory/e99134.json delete mode 100644 specifications/iit-kharagpur/analog-signals,network-and-measurement-laboratory/e99135.json delete mode 100644 specifications/iit-kharagpur/chemical-process-dynamics-laboratory/chemical-process-dynamics-laboratory.json delete mode 100644 specifications/iit-kharagpur/chemical-process-dynamics-laboratory/dump_json_to_lds.py delete mode 100644 specifications/iit-kharagpur/chemical-process-dynamics-laboratory/e99169.json delete mode 100644 specifications/iit-kharagpur/chemical-process-dynamics-laboratory/e99170.json delete mode 100644 specifications/iit-kharagpur/chemical-process-dynamics-laboratory/e99171.json delete mode 100644 specifications/iit-kharagpur/chemical-process-dynamics-laboratory/e99172.json delete mode 100644 specifications/iit-kharagpur/chemical-process-dynamics-laboratory/e99173.json delete mode 100644 specifications/iit-kharagpur/chemical-process-dynamics-laboratory/e99174.json delete mode 100644 specifications/iit-kharagpur/chemical-process-dynamics-laboratory/e99175.json delete mode 100644 specifications/iit-kharagpur/chemical-process-dynamics-laboratory/e99176.json delete mode 100644 specifications/iit-kharagpur/digital-electronic-circuits-laboratory/digital-electronic-circuits-laboratory.json delete mode 100644 specifications/iit-kharagpur/digital-electronic-circuits-laboratory/dump_json_to_lds.py delete mode 100644 specifications/iit-kharagpur/digital-electronic-circuits-laboratory/e98954.json delete mode 100644 specifications/iit-kharagpur/digital-electronic-circuits-laboratory/e98955.json delete mode 100644 specifications/iit-kharagpur/digital-electronic-circuits-laboratory/e98956.json delete mode 100644 specifications/iit-kharagpur/digital-electronic-circuits-laboratory/e98957.json delete mode 100644 specifications/iit-kharagpur/digital-electronic-circuits-laboratory/e98958.json delete mode 100644 specifications/iit-kharagpur/digital-electronic-circuits-laboratory/e98959.json delete mode 100644 specifications/iit-kharagpur/digital-electronic-circuits-laboratory/e98960.json delete mode 100644 specifications/iit-kharagpur/digital-electronic-circuits-laboratory/e98961.json delete mode 100644 specifications/iit-kharagpur/digital-electronic-circuits-laboratory/e98962.json delete mode 100644 specifications/iit-kharagpur/digital-electronic-circuits-laboratory/e98963.json delete mode 100644 specifications/iit-kharagpur/digital-signal-processing-laboratory/digital-signal-processing-laboratory.json delete mode 100644 specifications/iit-kharagpur/digital-signal-processing-laboratory/dump_json_to_lds.py delete mode 100644 specifications/iit-kharagpur/digital-signal-processing-laboratory/e98945.json delete mode 100644 specifications/iit-kharagpur/digital-signal-processing-laboratory/e98946.json delete mode 100644 specifications/iit-kharagpur/digital-signal-processing-laboratory/e98947.json delete mode 100644 specifications/iit-kharagpur/digital-signal-processing-laboratory/e98948.json delete mode 100644 specifications/iit-kharagpur/digital-signal-processing-laboratory/e98949.json delete mode 100644 specifications/iit-kharagpur/digital-signal-processing-laboratory/e98950.json delete mode 100644 specifications/iit-kharagpur/digital-signal-processing-laboratory/e98951.json delete mode 100644 specifications/iit-kharagpur/digital-signal-processing-laboratory/e98952.json delete mode 100644 specifications/iit-kharagpur/digital-signal-processing-laboratory/e98953.json delete mode 100644 specifications/iit-kharagpur/fading-channels-and-mobile-communication/dump_json_to_lds.py delete mode 100644 specifications/iit-kharagpur/fading-channels-and-mobile-communication/e98991.json delete mode 100644 specifications/iit-kharagpur/fading-channels-and-mobile-communication/e98992.json delete mode 100644 specifications/iit-kharagpur/fading-channels-and-mobile-communication/e98993.json delete mode 100644 specifications/iit-kharagpur/fading-channels-and-mobile-communication/e98994.json delete mode 100644 specifications/iit-kharagpur/fading-channels-and-mobile-communication/e98995.json delete mode 100644 specifications/iit-kharagpur/fading-channels-and-mobile-communication/e98996.json delete mode 100644 specifications/iit-kharagpur/fading-channels-and-mobile-communication/e98997.json delete mode 100644 specifications/iit-kharagpur/fading-channels-and-mobile-communication/e98998.json delete mode 100644 specifications/iit-kharagpur/fading-channels-and-mobile-communication/e98999.json delete mode 100644 specifications/iit-kharagpur/fading-channels-and-mobile-communication/e99000.json delete mode 100644 specifications/iit-kharagpur/fading-channels-and-mobile-communication/e99001.json delete mode 100644 specifications/iit-kharagpur/fading-channels-and-mobile-communication/e99002.json delete mode 100644 specifications/iit-kharagpur/fading-channels-and-mobile-communication/e99003.json delete mode 100644 specifications/iit-kharagpur/fading-channels-and-mobile-communication/e99004.json delete mode 100644 specifications/iit-kharagpur/fading-channels-and-mobile-communication/fading-channels-and-mobile-communication.json delete mode 100644 specifications/iit-kharagpur/kinematics-and-dynamics-of-mechanisms/dump_json_to_lds.py delete mode 100644 specifications/iit-kharagpur/kinematics-and-dynamics-of-mechanisms/e99076.json delete mode 100644 specifications/iit-kharagpur/kinematics-and-dynamics-of-mechanisms/e99077.json delete mode 100644 specifications/iit-kharagpur/kinematics-and-dynamics-of-mechanisms/e99078.json delete mode 100644 specifications/iit-kharagpur/kinematics-and-dynamics-of-mechanisms/e99079.json delete mode 100644 specifications/iit-kharagpur/kinematics-and-dynamics-of-mechanisms/e99080.json delete mode 100644 specifications/iit-kharagpur/kinematics-and-dynamics-of-mechanisms/e99081.json delete mode 100644 specifications/iit-kharagpur/kinematics-and-dynamics-of-mechanisms/e99082.json delete mode 100644 specifications/iit-kharagpur/kinematics-and-dynamics-of-mechanisms/e99083.json delete mode 100644 specifications/iit-kharagpur/kinematics-and-dynamics-of-mechanisms/e99084.json delete mode 100644 specifications/iit-kharagpur/kinematics-and-dynamics-of-mechanisms/e99085.json delete mode 100644 specifications/iit-kharagpur/kinematics-and-dynamics-of-mechanisms/e99086.json delete mode 100644 specifications/iit-kharagpur/kinematics-and-dynamics-of-mechanisms/e99087.json delete mode 100644 specifications/iit-kharagpur/kinematics-and-dynamics-of-mechanisms/e99088.json delete mode 100644 specifications/iit-kharagpur/kinematics-and-dynamics-of-mechanisms/e99089.json delete mode 100644 specifications/iit-kharagpur/kinematics-and-dynamics-of-mechanisms/e99090.json delete mode 100644 specifications/iit-kharagpur/kinematics-and-dynamics-of-mechanisms/e99091.json delete mode 100644 specifications/iit-kharagpur/kinematics-and-dynamics-of-mechanisms/e99092.json delete mode 100644 specifications/iit-kharagpur/kinematics-and-dynamics-of-mechanisms/e99093.json delete mode 100644 specifications/iit-kharagpur/kinematics-and-dynamics-of-mechanisms/e99094.json delete mode 100644 specifications/iit-kharagpur/kinematics-and-dynamics-of-mechanisms/e99095.json delete mode 100644 specifications/iit-kharagpur/kinematics-and-dynamics-of-mechanisms/e99096.json delete mode 100644 specifications/iit-kharagpur/kinematics-and-dynamics-of-mechanisms/e99097.json delete mode 100644 specifications/iit-kharagpur/kinematics-and-dynamics-of-mechanisms/e99098.json delete mode 100644 specifications/iit-kharagpur/kinematics-and-dynamics-of-mechanisms/e99099.json delete mode 100644 specifications/iit-kharagpur/kinematics-and-dynamics-of-mechanisms/e99100.json delete mode 100644 specifications/iit-kharagpur/kinematics-and-dynamics-of-mechanisms/e99101.json delete mode 100644 specifications/iit-kharagpur/kinematics-and-dynamics-of-mechanisms/e99102.json delete mode 100644 specifications/iit-kharagpur/kinematics-and-dynamics-of-mechanisms/e99103.json delete mode 100644 specifications/iit-kharagpur/kinematics-and-dynamics-of-mechanisms/e99104.json delete mode 100644 specifications/iit-kharagpur/kinematics-and-dynamics-of-mechanisms/e99105.json delete mode 100644 specifications/iit-kharagpur/kinematics-and-dynamics-of-mechanisms/kinematics-and-dynamics-of-mechanisms.json delete mode 100644 specifications/iit-kharagpur/mechanical-systems-and-signal-processing-lab/dump_json_to_lds.py delete mode 100644 specifications/iit-kharagpur/mechanical-systems-and-signal-processing-lab/e99043.json delete mode 100644 specifications/iit-kharagpur/mechanical-systems-and-signal-processing-lab/e99044.json delete mode 100644 specifications/iit-kharagpur/mechanical-systems-and-signal-processing-lab/e99045.json delete mode 100644 specifications/iit-kharagpur/mechanical-systems-and-signal-processing-lab/e99046.json delete mode 100644 specifications/iit-kharagpur/mechanical-systems-and-signal-processing-lab/e99047.json delete mode 100644 specifications/iit-kharagpur/mechanical-systems-and-signal-processing-lab/e99048.json delete mode 100644 specifications/iit-kharagpur/mechanical-systems-and-signal-processing-lab/e99049.json delete mode 100644 specifications/iit-kharagpur/mechanical-systems-and-signal-processing-lab/e99050.json delete mode 100644 specifications/iit-kharagpur/mechanical-systems-and-signal-processing-lab/e99051.json delete mode 100644 specifications/iit-kharagpur/mechanical-systems-and-signal-processing-lab/mechanical-systems-and-signal-processing-lab.json delete mode 100644 specifications/iit-kharagpur/model-based-fault-detection-lab/dump_json_to_lds.py delete mode 100644 specifications/iit-kharagpur/model-based-fault-detection-lab/model-based-fault-detection-lab.json delete mode 100644 specifications/iit-kharagpur/programming-and-data-structures-lab/dump_json_to_lds.py delete mode 100644 specifications/iit-kharagpur/programming-and-data-structures-lab/e98357.json delete mode 100644 specifications/iit-kharagpur/programming-and-data-structures-lab/e98358.json delete mode 100644 specifications/iit-kharagpur/programming-and-data-structures-lab/e98359.json delete mode 100644 specifications/iit-kharagpur/programming-and-data-structures-lab/e98361.json delete mode 100644 specifications/iit-kharagpur/programming-and-data-structures-lab/e98362.json delete mode 100644 specifications/iit-kharagpur/programming-and-data-structures-lab/e98363.json delete mode 100644 specifications/iit-kharagpur/programming-and-data-structures-lab/e98364.json delete mode 100644 specifications/iit-kharagpur/programming-and-data-structures-lab/e98365.json delete mode 100644 specifications/iit-kharagpur/programming-and-data-structures-lab/e98366.json delete mode 100644 specifications/iit-kharagpur/programming-and-data-structures-lab/e98367.json delete mode 100644 specifications/iit-kharagpur/programming-and-data-structures-lab/e98368.json delete mode 100644 specifications/iit-kharagpur/programming-and-data-structures-lab/e98369.json delete mode 100644 specifications/iit-kharagpur/programming-and-data-structures-lab/e98370.json delete mode 100644 specifications/iit-kharagpur/programming-and-data-structures-lab/e98371.json delete mode 100644 specifications/iit-kharagpur/programming-and-data-structures-lab/e98372.json delete mode 100644 specifications/iit-kharagpur/programming-and-data-structures-lab/e98373.json delete mode 100644 specifications/iit-kharagpur/programming-and-data-structures-lab/e98374.json delete mode 100644 specifications/iit-kharagpur/programming-and-data-structures-lab/e98375.json delete mode 100644 specifications/iit-kharagpur/programming-and-data-structures-lab/e98376.json delete mode 100644 specifications/iit-kharagpur/programming-and-data-structures-lab/e98377.json delete mode 100644 specifications/iit-kharagpur/programming-and-data-structures-lab/e98378.json delete mode 100644 specifications/iit-kharagpur/programming-and-data-structures-lab/e98379.json delete mode 100644 specifications/iit-kharagpur/programming-and-data-structures-lab/e98380.json delete mode 100644 specifications/iit-kharagpur/programming-and-data-structures-lab/e98381.json delete mode 100644 specifications/iit-kharagpur/programming-and-data-structures-lab/e98382.json delete mode 100644 specifications/iit-kharagpur/programming-and-data-structures-lab/e98383.json delete mode 100644 specifications/iit-kharagpur/programming-and-data-structures-lab/e98384.json delete mode 100644 specifications/iit-kharagpur/programming-and-data-structures-lab/e98385.json delete mode 100644 specifications/iit-kharagpur/programming-and-data-structures-lab/programming-data-structures-lab.json delete mode 100644 specifications/iit-kharagpur/real-time-embedded-systems-laboratory/dump_json_to_lds.py delete mode 100644 specifications/iit-kharagpur/real-time-embedded-systems-laboratory/e98974.json delete mode 100644 specifications/iit-kharagpur/real-time-embedded-systems-laboratory/e98975.json delete mode 100644 specifications/iit-kharagpur/real-time-embedded-systems-laboratory/e98976.json delete mode 100644 specifications/iit-kharagpur/real-time-embedded-systems-laboratory/e98977.json delete mode 100644 specifications/iit-kharagpur/real-time-embedded-systems-laboratory/e98978.json delete mode 100644 specifications/iit-kharagpur/real-time-embedded-systems-laboratory/e98979.json delete mode 100644 specifications/iit-kharagpur/real-time-embedded-systems-laboratory/e98980.json delete mode 100644 specifications/iit-kharagpur/real-time-embedded-systems-laboratory/e98981.json delete mode 100644 specifications/iit-kharagpur/real-time-embedded-systems-laboratory/e98982.json delete mode 100644 specifications/iit-kharagpur/real-time-embedded-systems-laboratory/e98983.json delete mode 100644 specifications/iit-kharagpur/real-time-embedded-systems-laboratory/e98984.json delete mode 100644 specifications/iit-kharagpur/real-time-embedded-systems-laboratory/e98985.json delete mode 100644 specifications/iit-kharagpur/real-time-embedded-systems-laboratory/e98986.json delete mode 100644 specifications/iit-kharagpur/real-time-embedded-systems-laboratory/e98987.json delete mode 100644 specifications/iit-kharagpur/real-time-embedded-systems-laboratory/e98988.json delete mode 100644 specifications/iit-kharagpur/real-time-embedded-systems-laboratory/e98989.json delete mode 100644 specifications/iit-kharagpur/real-time-embedded-systems-laboratory/real-time-embedded-systems-laboratory.json delete mode 100644 specifications/iit-kharagpur/robotics-and-control-systems-simulation-laboratory/dump_json_to_lds.py delete mode 100644 specifications/iit-kharagpur/robotics-and-control-systems-simulation-laboratory/e99061.json delete mode 100644 specifications/iit-kharagpur/robotics-and-control-systems-simulation-laboratory/e99062.json delete mode 100644 specifications/iit-kharagpur/robotics-and-control-systems-simulation-laboratory/e99063.json delete mode 100644 specifications/iit-kharagpur/robotics-and-control-systems-simulation-laboratory/e99064.json delete mode 100644 specifications/iit-kharagpur/robotics-and-control-systems-simulation-laboratory/e99065.json delete mode 100644 specifications/iit-kharagpur/robotics-and-control-systems-simulation-laboratory/e99066.json delete mode 100644 specifications/iit-kharagpur/robotics-and-control-systems-simulation-laboratory/e99067.json delete mode 100644 specifications/iit-kharagpur/robotics-and-control-systems-simulation-laboratory/e99068.json delete mode 100644 specifications/iit-kharagpur/robotics-and-control-systems-simulation-laboratory/e99069.json delete mode 100644 specifications/iit-kharagpur/robotics-and-control-systems-simulation-laboratory/e99070.json delete mode 100644 specifications/iit-kharagpur/robotics-and-control-systems-simulation-laboratory/e99071.json delete mode 100644 specifications/iit-kharagpur/robotics-and-control-systems-simulation-laboratory/e99072.json delete mode 100644 specifications/iit-kharagpur/robotics-and-control-systems-simulation-laboratory/e99073.json delete mode 100644 specifications/iit-kharagpur/robotics-and-control-systems-simulation-laboratory/e99074.json delete mode 100644 specifications/iit-kharagpur/robotics-and-control-systems-simulation-laboratory/e99075.json delete mode 100644 specifications/iit-kharagpur/robotics-and-control-systems-simulation-laboratory/robotics-and-control-systems-simulation-laboratory.json delete mode 100644 specifications/iit-kharagpur/rotating-machinery-fault-simulation-laboratory/dump_json_to_lds.py delete mode 100644 specifications/iit-kharagpur/rotating-machinery-fault-simulation-laboratory/e99052.json delete mode 100644 specifications/iit-kharagpur/rotating-machinery-fault-simulation-laboratory/e99053.json delete mode 100644 specifications/iit-kharagpur/rotating-machinery-fault-simulation-laboratory/e99054.json delete mode 100644 specifications/iit-kharagpur/rotating-machinery-fault-simulation-laboratory/e99055.json delete mode 100644 specifications/iit-kharagpur/rotating-machinery-fault-simulation-laboratory/e99056.json delete mode 100644 specifications/iit-kharagpur/rotating-machinery-fault-simulation-laboratory/e99057.json delete mode 100644 specifications/iit-kharagpur/rotating-machinery-fault-simulation-laboratory/e99058.json delete mode 100644 specifications/iit-kharagpur/rotating-machinery-fault-simulation-laboratory/e99059.json delete mode 100644 specifications/iit-kharagpur/rotating-machinery-fault-simulation-laboratory/e99060.json delete mode 100644 specifications/iit-kharagpur/rotating-machinery-fault-simulation-laboratory/rotating-machinery-fault-simulation-laboratory.json delete mode 100644 specifications/iit-kharagpur/satellite-modelling-and-simulation/dump_json_to_lds.py delete mode 100644 specifications/iit-kharagpur/satellite-modelling-and-simulation/e98871.json delete mode 100644 specifications/iit-kharagpur/satellite-modelling-and-simulation/e98872.json delete mode 100644 specifications/iit-kharagpur/satellite-modelling-and-simulation/satellite-modelling-and-simulation.json delete mode 100644 specifications/iit-kharagpur/soft-computing-tools-in-engineering/dump_json_to_lds.py delete mode 100644 specifications/iit-kharagpur/soft-computing-tools-in-engineering/e98920.json delete mode 100644 specifications/iit-kharagpur/soft-computing-tools-in-engineering/e98921.json delete mode 100644 specifications/iit-kharagpur/soft-computing-tools-in-engineering/e98922.json delete mode 100644 specifications/iit-kharagpur/soft-computing-tools-in-engineering/e98923.json delete mode 100644 specifications/iit-kharagpur/soft-computing-tools-in-engineering/e98924.json delete mode 100644 specifications/iit-kharagpur/soft-computing-tools-in-engineering/e98925.json delete mode 100644 specifications/iit-kharagpur/soft-computing-tools-in-engineering/e98926.json delete mode 100644 specifications/iit-kharagpur/soft-computing-tools-in-engineering/e98927.json delete mode 100644 specifications/iit-kharagpur/soft-computing-tools-in-engineering/e98928.json delete mode 100644 specifications/iit-kharagpur/soft-computing-tools-in-engineering/e98929.json delete mode 100644 specifications/iit-kharagpur/soft-computing-tools-in-engineering/e98930.json delete mode 100644 specifications/iit-kharagpur/soft-computing-tools-in-engineering/e98931.json delete mode 100644 specifications/iit-kharagpur/soft-computing-tools-in-engineering/soft-computing-tools-in-engineering.json delete mode 100644 specifications/iit-kharagpur/software-engineering-lab/dump_json_to_lds.py delete mode 100644 specifications/iit-kharagpur/software-engineering-lab/e99150.json delete mode 100644 specifications/iit-kharagpur/software-engineering-lab/e99151.json delete mode 100644 specifications/iit-kharagpur/software-engineering-lab/e99152.json delete mode 100644 specifications/iit-kharagpur/software-engineering-lab/e99153.json delete mode 100644 specifications/iit-kharagpur/software-engineering-lab/e99154.json delete mode 100644 specifications/iit-kharagpur/software-engineering-lab/e99155.json delete mode 100644 specifications/iit-kharagpur/software-engineering-lab/e99156.json delete mode 100644 specifications/iit-kharagpur/software-engineering-lab/e99157.json delete mode 100644 specifications/iit-kharagpur/software-engineering-lab/e99158.json delete mode 100644 specifications/iit-kharagpur/software-engineering-lab/e99159.json delete mode 100644 specifications/iit-kharagpur/software-engineering-lab/software-engineering-lab.json delete mode 100644 specifications/iit-kharagpur/virtual-high-voltage-laboratory/dump_json_to_lds.py delete mode 100644 specifications/iit-kharagpur/virtual-high-voltage-laboratory/e98435.json delete mode 100644 specifications/iit-kharagpur/virtual-high-voltage-laboratory/e98436.json delete mode 100644 specifications/iit-kharagpur/virtual-high-voltage-laboratory/e98437.json delete mode 100644 specifications/iit-kharagpur/virtual-high-voltage-laboratory/e98438.json delete mode 100644 specifications/iit-kharagpur/virtual-high-voltage-laboratory/e98439.json delete mode 100644 specifications/iit-kharagpur/virtual-high-voltage-laboratory/e98440.json delete mode 100644 specifications/iit-kharagpur/virtual-high-voltage-laboratory/e98441.json delete mode 100644 specifications/iit-kharagpur/virtual-high-voltage-laboratory/e98449.json delete mode 100644 specifications/iit-kharagpur/virtual-high-voltage-laboratory/e98458.json delete mode 100644 specifications/iit-kharagpur/virtual-high-voltage-laboratory/e98459.json delete mode 100644 specifications/iit-kharagpur/virtual-high-voltage-laboratory/virtual-high-voltage-laboratory delete mode 100644 specifications/iit-kharagpur/virtual-high-voltage-laboratory/virtual-high-voltage-laboratory.json delete mode 100644 specifications/iit-kharagpur/virtual-lab-on-mine-ventilation/dump_json_to_lds.py delete mode 100644 specifications/iit-kharagpur/virtual-lab-on-mine-ventilation/e98873.json delete mode 100644 specifications/iit-kharagpur/virtual-lab-on-mine-ventilation/e98874.json delete mode 100644 specifications/iit-kharagpur/virtual-lab-on-mine-ventilation/e98875.json delete mode 100644 specifications/iit-kharagpur/virtual-lab-on-mine-ventilation/e98876.json delete mode 100644 specifications/iit-kharagpur/virtual-lab-on-mine-ventilation/e98877.json delete mode 100644 specifications/iit-kharagpur/virtual-lab-on-mine-ventilation/e98878.json delete mode 100644 specifications/iit-kharagpur/virtual-lab-on-mine-ventilation/e98879.json delete mode 100644 specifications/iit-kharagpur/virtual-lab-on-mine-ventilation/e98880.json delete mode 100644 specifications/iit-kharagpur/virtual-lab-on-mine-ventilation/e98881.json delete mode 100644 specifications/iit-kharagpur/virtual-lab-on-mine-ventilation/e98882.json delete mode 100644 specifications/iit-kharagpur/virtual-lab-on-mine-ventilation/virtual-lab-on-mine-ventilation.json delete mode 100644 specifications/iit-kharagpur/virtual-lab-on-multiphase-flow/dump_json_to_lds.py delete mode 100644 specifications/iit-kharagpur/virtual-lab-on-multiphase-flow/virtual-lab-on-multiphase-flow.json delete mode 100644 specifications/iit-kharagpur/virtual-laboratory-for-simulation-and-gaming/dump_json_to_lds.py delete mode 100644 specifications/iit-kharagpur/virtual-laboratory-for-simulation-and-gaming/e98883.json delete mode 100644 specifications/iit-kharagpur/virtual-laboratory-for-simulation-and-gaming/e98884.json delete mode 100644 specifications/iit-kharagpur/virtual-laboratory-for-simulation-and-gaming/e98885.json delete mode 100644 specifications/iit-kharagpur/virtual-laboratory-for-simulation-and-gaming/e98886.json delete mode 100644 specifications/iit-kharagpur/virtual-laboratory-for-simulation-and-gaming/e98887.json delete mode 100644 specifications/iit-kharagpur/virtual-laboratory-for-simulation-and-gaming/e98888.json delete mode 100644 specifications/iit-kharagpur/virtual-laboratory-for-simulation-and-gaming/e98889.json delete mode 100644 specifications/iit-kharagpur/virtual-laboratory-for-simulation-and-gaming/e98890.json delete mode 100644 specifications/iit-kharagpur/virtual-laboratory-for-simulation-and-gaming/e98891.json delete mode 100644 specifications/iit-kharagpur/virtual-laboratory-for-simulation-and-gaming/e98892.json delete mode 100644 specifications/iit-kharagpur/virtual-laboratory-for-simulation-and-gaming/virtual-laboratory-for-simulation-and-gaming-.json delete mode 100644 specifications/iit-kharagpur/virtual-pulse,-switching-and-analogue-circuits-lab/dump_json_to_lds.py delete mode 100644 specifications/iit-kharagpur/virtual-pulse,-switching-and-analogue-circuits-lab/e99005.json delete mode 100644 specifications/iit-kharagpur/virtual-pulse,-switching-and-analogue-circuits-lab/e99006.json delete mode 100644 specifications/iit-kharagpur/virtual-pulse,-switching-and-analogue-circuits-lab/e99007.json delete mode 100644 specifications/iit-kharagpur/virtual-pulse,-switching-and-analogue-circuits-lab/virtual-pulse,-switching-and-analogue-circuits-lab.json delete mode 100644 specifications/nit-surathkal/fluid-machinery-lab/E98519.json delete mode 100644 specifications/nit-surathkal/fluid-machinery-lab/dump_json_to_lds.py delete mode 100644 specifications/nit-surathkal/fluid-machinery-lab/e98519.json delete mode 100644 specifications/nit-surathkal/fluid-machinery-lab/e98520.json delete mode 100644 specifications/nit-surathkal/fluid-machinery-lab/e98521.json delete mode 100644 specifications/nit-surathkal/fluid-machinery-lab/e98522.json delete mode 100644 specifications/nit-surathkal/fluid-machinery-lab/e98523.json delete mode 100644 specifications/nit-surathkal/fluid-machinery-lab/e98524.json delete mode 100644 specifications/nit-surathkal/fluid-machinery-lab/e98525.json delete mode 100644 specifications/nit-surathkal/fluid-machinery-lab/e99058.json delete mode 100644 specifications/nit-surathkal/fluid-machinery-lab/fluid-machinery-lab.json delete mode 100644 specifications/nit-surathkal/remote-triggered-vibration-lab/dump_json_to_lds.py delete mode 100644 specifications/nit-surathkal/remote-triggered-vibration-lab/e98526.json delete mode 100644 specifications/nit-surathkal/remote-triggered-vibration-lab/e98527.json delete mode 100644 specifications/nit-surathkal/remote-triggered-vibration-lab/e98528.json delete mode 100644 specifications/nit-surathkal/remote-triggered-vibration-lab/e98529.json delete mode 100644 specifications/nit-surathkal/remote-triggered-vibration-lab/e98530.json delete mode 100644 specifications/nit-surathkal/remote-triggered-vibration-lab/e98531.json delete mode 100644 specifications/nit-surathkal/remote-triggered-vibration-lab/e98532.json delete mode 100644 specifications/nit-surathkal/remote-triggered-vibration-lab/e98533.json delete mode 100644 specifications/nit-surathkal/remote-triggered-vibration-lab/e98534.json delete mode 100644 specifications/nit-surathkal/remote-triggered-vibration-lab/e98535.json delete mode 100644 specifications/nit-surathkal/remote-triggered-vibration-lab/remote-triggered-vibration-lab.json delete mode 100644 specifications/nit-surathkal/unit-operation,-reaction-engg.-&-process-control/dump_json_to_lds.py delete mode 100644 specifications/nit-surathkal/unit-operation,-reaction-engg.-&-process-control/e99160.json delete mode 100644 specifications/nit-surathkal/unit-operation,-reaction-engg.-&-process-control/e99161.json delete mode 100644 specifications/nit-surathkal/unit-operation,-reaction-engg.-&-process-control/e99162.json delete mode 100644 specifications/nit-surathkal/unit-operation,-reaction-engg.-&-process-control/e99163.json delete mode 100644 specifications/nit-surathkal/unit-operation,-reaction-engg.-&-process-control/e99164.json delete mode 100644 specifications/nit-surathkal/unit-operation,-reaction-engg.-&-process-control/e99165.json delete mode 100644 specifications/nit-surathkal/unit-operation,-reaction-engg.-&-process-control/e99166.json delete mode 100644 specifications/nit-surathkal/unit-operation,-reaction-engg.-&-process-control/e99167.json delete mode 100644 specifications/nit-surathkal/unit-operation,-reaction-engg.-&-process-control/e99168.json delete mode 100644 specifications/nit-surathkal/unit-operation,-reaction-engg.-&-process-control/unit-operation,-reaction-engg.-&-process-control.json diff --git a/specifications/amrita/bio-inspired-robotics-virtual-lab-(remote-trigger)/bio-inspired-robotics-virtual-lab-(remote-trigger).json b/specifications/amrita/bio-inspired-robotics-virtual-lab-(remote-trigger)/bio-inspired-robotics-virtual-lab-(remote-trigger).json deleted file mode 100644 index ba6f9cf..0000000 --- a/specifications/amrita/bio-inspired-robotics-virtual-lab-(remote-trigger)/bio-inspired-robotics-virtual-lab-(remote-trigger).json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "lab": { - "id": "biotech11", - "name": "bio-inspired robotics virtual lab (remote trigger)", - "discipline_id": "biotech", - "institute_id": "amrita", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlab.amrita.edu/index.php?sub=3&brch=257" - } - ], - "integration_level": 4, - "overview": "This lab deals with bio-inspired robotics virtual lab (remote trigger)", - "assets": [], - "sections": [ - { - "name": "Introduction" - }, - { - "experiments" : [ - "e98819", - "e98818", - "e98817", - "e98816", - "e98815", - "e98814", - "e98813", - "e98812" - ] - } - ] - } -} diff --git a/specifications/amrita/bio-inspired-robotics-virtual-lab-(remote-trigger)/dump_json_to_lds.py b/specifications/amrita/bio-inspired-robotics-virtual-lab-(remote-trigger)/dump_json_to_lds.py deleted file mode 100644 index 78c74fa..0000000 --- a/specifications/amrita/bio-inspired-robotics-virtual-lab-(remote-trigger)/dump_json_to_lds.py +++ /dev/null @@ -1,44 +0,0 @@ - -import os -import os.path -import json -import requests -import glob - -URL= 'http://localhost:5000' -json_path_list = [] - -def post_lab_spec(file_path): - - with open(file_path) as json_file: - print file_path - data = json.load(json_file) - if 'lab' in data.keys(): - end_point = "/labs" - if 'experiment' in data.keys(): - end_point = "/experiments" - - data['key'] = 'defaultkey' - APP_URL = URL + end_point - headers = {'Content-Type': 'application/json'} - try: - response = requests.post(APP_URL, data = json.dumps(data), - headers=headers) - if response.status_code == 200: - print "Added json data : " + file_path - else: - print "Errore in adding json file " + file_path + " due to " + response.text - except Exception as e: - print str(e) -try: - exp_file_list = glob.glob(os.getcwd() + "/e9*.json") - lab_file_list = glob.glob(os.getcwd() + "/[!e9]*.json") - - for filename in exp_file_list: - json_path_list.append(filename) -except Exception as e: - print str(e) - -for file_path in json_path_list: - post_lab_spec(file_path) -post_lab_spec(lab_file_list[0]) diff --git a/specifications/amrita/bio-inspired-robotics-virtual-lab-(remote-trigger)/e98812.json b/specifications/amrita/bio-inspired-robotics-virtual-lab-(remote-trigger)/e98812.json deleted file mode 100644 index e323580..0000000 --- a/specifications/amrita/bio-inspired-robotics-virtual-lab-(remote-trigger)/e98812.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "experiment": { - "id": "e98812", - "name": "Pattern recognition in a hardware neural network (Remote Trigger)", - "discipline_id": "biotech", - "institute_id": "amrita", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlab.amrita.edu/index.php?sub=3&brch=257&sim=1488&cnt=1" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Pattern recognition in a hardware neural network (Remote Trigger)", - "assets": [], - "sections" : [ - "Theory", - "Procedure", - "Self Evaluation", - "Remote Panel", - "Assignment", - "Reference", - "Feedback" - ] - } -} diff --git a/specifications/amrita/bio-inspired-robotics-virtual-lab-(remote-trigger)/e98813.json b/specifications/amrita/bio-inspired-robotics-virtual-lab-(remote-trigger)/e98813.json deleted file mode 100644 index c3d46ad..0000000 --- a/specifications/amrita/bio-inspired-robotics-virtual-lab-(remote-trigger)/e98813.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "experiment": { - "id": "e98813", - "name": "Constructing a six core brain like circuit (Remote Trigger)", - "discipline_id": "biotech", - "institute_id": "amrita", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlab.amrita.edu/index.php?sub=3&brch=257&sim=1670&cnt=1" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Constructing a six core brain like circuit (Remote Trigger)", - "assets": [], - "sections" : [ - "Theory", - "Procedure", - "Self Evaluation", - "Remote Panel", - "Assignment", - "Reference", - "Feedback" - ] - } -} diff --git a/specifications/amrita/bio-inspired-robotics-virtual-lab-(remote-trigger)/e98814.json b/specifications/amrita/bio-inspired-robotics-virtual-lab-(remote-trigger)/e98814.json deleted file mode 100644 index f281b11..0000000 --- a/specifications/amrita/bio-inspired-robotics-virtual-lab-(remote-trigger)/e98814.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "experiment": { - "id": "e98814", - "name": "Interaction study with Neuronal Circuits", - "discipline_id": "biotech", - "institute_id": "amrita", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlab.amrita.edu/index.php?sub=3&brch=257&sim=1764&cnt=1" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Interaction study with Neuronal Circuits", - "assets": [], - "sections" : [ - "Theory", - "Procedure", - "Self Evaluation", - "RemotePanel", - "Assignment", - "Reference", - "Feedback" - ] - } -} diff --git a/specifications/amrita/bio-inspired-robotics-virtual-lab-(remote-trigger)/e98815.json b/specifications/amrita/bio-inspired-robotics-virtual-lab-(remote-trigger)/e98815.json deleted file mode 100644 index af7994b..0000000 --- a/specifications/amrita/bio-inspired-robotics-virtual-lab-(remote-trigger)/e98815.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "experiment": { - "id": "e98815", - "name": "Mechanism behind the movement of a Walker robot with 4 neurons (Remote Trigger)", - "discipline_id": "biotech", - "institute_id": "amrita", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlab.amrita.edu/index.php?sub=3&brch=257&sim=1669&cnt=1" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Mechanism behind the movement of a Walker robot with 4 neurons (Remote Trigger)", - "assets": [], - "sections" : [ - "Theory", - "Procedure", - "Self Evaluation", - "Remote Panel", - "Assignment", - "Reference", - "Feedback" - ] - } -} diff --git a/specifications/amrita/bio-inspired-robotics-virtual-lab-(remote-trigger)/e98816.json b/specifications/amrita/bio-inspired-robotics-virtual-lab-(remote-trigger)/e98816.json deleted file mode 100644 index cc0413b..0000000 --- a/specifications/amrita/bio-inspired-robotics-virtual-lab-(remote-trigger)/e98816.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "experiment": { - "id": "e98816", - "name": "Light sensing process in a neural circuit (Remote Trigger)", - "discipline_id": "biotech", - "institute_id": "amrita", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlab.amrita.edu/index.php?sub=3&brch=257&sim=1321&cnt=1" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Light sensing process in a neural circuit (Remote Trigger)", - "assets": [], - "sections" : [ - "Theory", - "Procedure", - "Self Evaluation", - "Remote Panel", - "Assignment", - "Reference", - "Feedback" - ] - } -} diff --git a/specifications/amrita/bio-inspired-robotics-virtual-lab-(remote-trigger)/e98817.json b/specifications/amrita/bio-inspired-robotics-virtual-lab-(remote-trigger)/e98817.json deleted file mode 100644 index f66ca46..0000000 --- a/specifications/amrita/bio-inspired-robotics-virtual-lab-(remote-trigger)/e98817.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "experiment": { - "id": "e98817", - "name": "Understanding the kinematics of a robotic upper arm - Interactive (Remote Trigger)", - "discipline_id": "biotech", - "institute_id": "amrita", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlab.amrita.edu/index.php?sub=3&brch=257&sim=1459&cnt=1" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Understanding the kinematics of a robotic upper arm - Interactive (Remote Trigger)", - "assets": [], - "sections" : [ - "Theory", - "Procedure", - "Self Evaluation", - "Remote Panel", - "Assignment", - "Reference", - "Feedback" - ] - } -} diff --git a/specifications/amrita/bio-inspired-robotics-virtual-lab-(remote-trigger)/e98818.json b/specifications/amrita/bio-inspired-robotics-virtual-lab-(remote-trigger)/e98818.json deleted file mode 100644 index 5f7ded2..0000000 --- a/specifications/amrita/bio-inspired-robotics-virtual-lab-(remote-trigger)/e98818.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "experiment": { - "id": "e98818", - "name": "Understanding the kinematics of a robotic upper arm (Remote Trigger)", - "discipline_id": "biotech", - "institute_id": "amrita", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlab.amrita.edu/index.php?sub=3&brch=257&sim=1458&cnt=1" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Understanding the kinematics of a robotic upper arm (Remote Trigger)", - "assets": [], - "sections" : [ - "Theory", - "Procedure", - "Self Evaluation", - "Remote Panel", - "Assignment", - "Reference", - "Feedback" - ] - } -} diff --git a/specifications/amrita/bio-inspired-robotics-virtual-lab-(remote-trigger)/e98819.json b/specifications/amrita/bio-inspired-robotics-virtual-lab-(remote-trigger)/e98819.json deleted file mode 100644 index b353b39..0000000 --- a/specifications/amrita/bio-inspired-robotics-virtual-lab-(remote-trigger)/e98819.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "experiment": { - "id": "e98819", - "name": "Controlling a servo motor in a bio-robotic environment (Remote Trigger)", - "discipline_id": "biotech", - "institute_id": "amrita", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlab.amrita.edu/index.php?sub=3&brch=257&sim=1480&cnt=1" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Controlling a servo motor in a bio-robotic environment (Remote Trigger)", - "assets": [], - "sections" : [ - "Theory", - "Procedure", - "Self Evaluation", - "Remote Panel", - "Assignment", - "Reference", - "Feedback" - ] - } -} diff --git a/specifications/amrita/biochemistry-virtual-lab-ii/biochemistry-virtual-lab-ii.json b/specifications/amrita/biochemistry-virtual-lab-ii/biochemistry-virtual-lab-ii.json deleted file mode 100644 index 257f17d..0000000 --- a/specifications/amrita/biochemistry-virtual-lab-ii/biochemistry-virtual-lab-ii.json +++ /dev/null @@ -1,38 +0,0 @@ -{ - "lab": { - "id": "biotech02", - "name": "biochemistry virtual lab ii", - "discipline_id": "biotech", - "institute_id": "amrita", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlab.amrita.edu/?sub=3&brch=64" - } - ], - "integration_level": 4, - "overview": "This lab deals with biochemistry virtual lab ii", - "assets": [], - "sections": [ - { - "name": "Introduction" - }, - { - "experiments" : [ - "e98791", - "e98790", - "e98789", - "e98788", - "e98787", - "e98786", - "e98785", - "e98784", - "e98783", - "e98782" - ] - } - ] - } -} diff --git a/specifications/amrita/biochemistry-virtual-lab-ii/dump_json_to_lds.py b/specifications/amrita/biochemistry-virtual-lab-ii/dump_json_to_lds.py deleted file mode 100644 index 78c74fa..0000000 --- a/specifications/amrita/biochemistry-virtual-lab-ii/dump_json_to_lds.py +++ /dev/null @@ -1,44 +0,0 @@ - -import os -import os.path -import json -import requests -import glob - -URL= 'http://localhost:5000' -json_path_list = [] - -def post_lab_spec(file_path): - - with open(file_path) as json_file: - print file_path - data = json.load(json_file) - if 'lab' in data.keys(): - end_point = "/labs" - if 'experiment' in data.keys(): - end_point = "/experiments" - - data['key'] = 'defaultkey' - APP_URL = URL + end_point - headers = {'Content-Type': 'application/json'} - try: - response = requests.post(APP_URL, data = json.dumps(data), - headers=headers) - if response.status_code == 200: - print "Added json data : " + file_path - else: - print "Errore in adding json file " + file_path + " due to " + response.text - except Exception as e: - print str(e) -try: - exp_file_list = glob.glob(os.getcwd() + "/e9*.json") - lab_file_list = glob.glob(os.getcwd() + "/[!e9]*.json") - - for filename in exp_file_list: - json_path_list.append(filename) -except Exception as e: - print str(e) - -for file_path in json_path_list: - post_lab_spec(file_path) -post_lab_spec(lab_file_list[0]) diff --git a/specifications/amrita/biochemistry-virtual-lab-ii/e98782.json b/specifications/amrita/biochemistry-virtual-lab-ii/e98782.json deleted file mode 100644 index 654bf35..0000000 --- a/specifications/amrita/biochemistry-virtual-lab-ii/e98782.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "experiment": { - "id": "e98782", - "name": "Hydrolysis of Ester using orange peel esterase", - "discipline_id": "biotech", - "institute_id": "amrita", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlab.amrita.edu/?sub=3&brch=64&sim=1445&cnt=1" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Hydrolysis of Ester using orange peel esterase", - "assets": [], - "sections" : [ - "Theory", - "Procedure", - "Self Evaluation", - "Animation", - "Assignment", - "Reference", - "Feedback" - ] - } -} diff --git a/specifications/amrita/biochemistry-virtual-lab-ii/e98783.json b/specifications/amrita/biochemistry-virtual-lab-ii/e98783.json deleted file mode 100644 index c38cf83..0000000 --- a/specifications/amrita/biochemistry-virtual-lab-ii/e98783.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "experiment": { - "id": "e98783", - "name": "Effect of temperature on enzyme kinetics", - "discipline_id": "biotech", - "institute_id": "amrita", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlab.amrita.edu/?sub=3&brch=64&sim=1342&cnt=1" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Effect of temperature on enzyme kinetics", - "assets": [], - "sections" : [ - "Theory", - "Procedure", - "Self Evaluation", - "Animation", - "Assignment", - "Reference", - "Feedback", - "NPTEL Video" - ] - } -} diff --git a/specifications/amrita/biochemistry-virtual-lab-ii/e98784.json b/specifications/amrita/biochemistry-virtual-lab-ii/e98784.json deleted file mode 100644 index 759b701..0000000 --- a/specifications/amrita/biochemistry-virtual-lab-ii/e98784.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "experiment": { - "id": "e98784", - "name": "Effect of Substrate Concentration on Enzyme Kinetics", - "discipline_id": "biotech", - "institute_id": "amrita", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlab.amrita.edu/?sub=3&brch=64&sim=1090&cnt=1" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Effect of Substrate Concentration on Enzyme Kinetics", - "assets": [], - "sections" : [ - "Theory", - "Procedure", - "Self Evaluation", - "Animation", - "Assignment", - "Reference", - "Feedback", - "NPTEL Video" - ] - } -} diff --git a/specifications/amrita/biochemistry-virtual-lab-ii/e98785.json b/specifications/amrita/biochemistry-virtual-lab-ii/e98785.json deleted file mode 100644 index 29e9153..0000000 --- a/specifications/amrita/biochemistry-virtual-lab-ii/e98785.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "experiment": { - "id": "e98785", - "name": "Construction of Protein Standard Curve using Folin’s Lowry Method", - "discipline_id": "biotech", - "institute_id": "amrita", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlab.amrita.edu/?sub=3&brch=64&sim=1087&cnt=1" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Construction of Protein Standard Curve using Folin’s Lowry Method", - "assets": [], - "sections" : [ - "Theory", - "Procedure", - "Self Evaluation", - "Animation", - "Assignment", - "Reference", - "Feedback" - ] - } -} diff --git a/specifications/amrita/biochemistry-virtual-lab-ii/e98786.json b/specifications/amrita/biochemistry-virtual-lab-ii/e98786.json deleted file mode 100644 index be4c8ba..0000000 --- a/specifications/amrita/biochemistry-virtual-lab-ii/e98786.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "experiment": { - "id": "e98786", - "name": "Structural Studies of Phycobiliproteins from Spirulina", - "discipline_id": "biotech", - "institute_id": "amrita", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlab.amrita.edu/?sub=3&brch=64&sim=792&cnt=1" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Structural Studies of Phycobiliproteins from Spirulina", - "assets": [], - "sections" : [ - "Theory", - "Procedure", - "Self Evaluation", - "Animation", - "Assignment", - "Reference", - "Feedback" - ] - } -} diff --git a/specifications/amrita/biochemistry-virtual-lab-ii/e98787.json b/specifications/amrita/biochemistry-virtual-lab-ii/e98787.json deleted file mode 100644 index c804610..0000000 --- a/specifications/amrita/biochemistry-virtual-lab-ii/e98787.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "experiment": { - "id": "e98787", - "name": "Isolation of Plant Pigments by Column Chromatography", - "discipline_id": "biotech", - "institute_id": "amrita", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlab.amrita.edu/?sub=3&brch=64&sim=160&cnt=1" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Isolation of Plant Pigments by Column Chromatography", - "assets": [], - "sections" : [ - "Theory", - "Procedure", - "Self Evaluation", - "Animation", - "Simulator", - "Assignment", - "Reference", - "Feedback", - "NPTEL Video" - ] - } -} diff --git a/specifications/amrita/biochemistry-virtual-lab-ii/e98788.json b/specifications/amrita/biochemistry-virtual-lab-ii/e98788.json deleted file mode 100644 index 4dc4a66..0000000 --- a/specifications/amrita/biochemistry-virtual-lab-ii/e98788.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "experiment": { - "id": "e98788", - "name": "Construction of Maltose Standard Curve by DNS Method", - "discipline_id": "biotech", - "institute_id": "amrita", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlab.amrita.edu/?sub=3&brch=64&sim=163&cnt=1" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Construction of Maltose Standard Curve by DNS Method", - "assets": [], - "sections" : [ - "Theory", - "Procedure", - "Self Evaluation", - "Animation", - "Assignment", - "Reference", - "Feedback" - ] - } -} diff --git a/specifications/amrita/biochemistry-virtual-lab-ii/e98789.json b/specifications/amrita/biochemistry-virtual-lab-ii/e98789.json deleted file mode 100644 index 52e0891..0000000 --- a/specifications/amrita/biochemistry-virtual-lab-ii/e98789.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "experiment": { - "id": "e98789", - "name": "Extraction of Caffeine from Tea", - "discipline_id": "biotech", - "institute_id": "amrita", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlab.amrita.edu/?sub=3&brch=64&sim=169&cnt=1" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Extraction of Caffeine from Tea", - "assets": [], - "sections" : [ - "Theory", - "Procedure", - "Self Evaluation", - "Animation", - "Assignment", - "Reference", - "Feedback" - ] - } -} diff --git a/specifications/amrita/biochemistry-virtual-lab-ii/e98790.json b/specifications/amrita/biochemistry-virtual-lab-ii/e98790.json deleted file mode 100644 index bdf9d8f..0000000 --- a/specifications/amrita/biochemistry-virtual-lab-ii/e98790.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "experiment": { - "id": "e98790", - "name": "Gelatin Zymography", - "discipline_id": "biotech", - "institute_id": "amrita", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlab.amrita.edu/?sub=3&brch=64&sim=700&cnt=1" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Gelatin Zymography", - "assets": [], - "sections" : [ - "Theory", - "Procedure", - "Self Evaluation", - "Animation", - "Assignment", - "Reference", - "Feedback" - ] - } -} diff --git a/specifications/amrita/biochemistry-virtual-lab-ii/e98791.json b/specifications/amrita/biochemistry-virtual-lab-ii/e98791.json deleted file mode 100644 index de2b277..0000000 --- a/specifications/amrita/biochemistry-virtual-lab-ii/e98791.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "experiment": { - "id": "e98791", - "name": "Isolation of β -Amylase from Sweet Potato", - "discipline_id": "biotech", - "institute_id": "amrita", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlab.amrita.edu/?sub=3&brch=64&sim=730&cnt=1" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Isolation of β -Amylase from Sweet Potato", - "assets": [], - "sections" : [ - "Theory", - "Procedure", - "Self Evaluation", - "Animation", - "Assignment", - "Reference", - "Feedback" - ] - } -} diff --git a/specifications/amrita/bioinformatics-virtual-lab-i/bioinformatics-virtual-lab-i.json b/specifications/amrita/bioinformatics-virtual-lab-i/bioinformatics-virtual-lab-i.json deleted file mode 100644 index 61de920..0000000 --- a/specifications/amrita/bioinformatics-virtual-lab-i/bioinformatics-virtual-lab-i.json +++ /dev/null @@ -1,37 +0,0 @@ -{ - "lab": { - "id": "biotech08", - "name": "bioinformatics virtual lab i", - "discipline_id": "biotech", - "institute_id": "amrita", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlab.amrita.edu/index.php?sub=3&brch=273" - } - ], - "integration_level": 4, - "overview": "This lab deals with bioinformatics virtual lab i", - "assets": [], - "sections": [ - { - "name": "Introduction" - }, - { - "experiments" : [ - "e98870", - "e98869", - "e98868", - "e98867", - "e98866", - "e98865", - "e98864", - "e98863", - "e98862" - ] - } - ] - } -} diff --git a/specifications/amrita/bioinformatics-virtual-lab-i/dump_json_to_lds.py b/specifications/amrita/bioinformatics-virtual-lab-i/dump_json_to_lds.py deleted file mode 100644 index 78c74fa..0000000 --- a/specifications/amrita/bioinformatics-virtual-lab-i/dump_json_to_lds.py +++ /dev/null @@ -1,44 +0,0 @@ - -import os -import os.path -import json -import requests -import glob - -URL= 'http://localhost:5000' -json_path_list = [] - -def post_lab_spec(file_path): - - with open(file_path) as json_file: - print file_path - data = json.load(json_file) - if 'lab' in data.keys(): - end_point = "/labs" - if 'experiment' in data.keys(): - end_point = "/experiments" - - data['key'] = 'defaultkey' - APP_URL = URL + end_point - headers = {'Content-Type': 'application/json'} - try: - response = requests.post(APP_URL, data = json.dumps(data), - headers=headers) - if response.status_code == 200: - print "Added json data : " + file_path - else: - print "Errore in adding json file " + file_path + " due to " + response.text - except Exception as e: - print str(e) -try: - exp_file_list = glob.glob(os.getcwd() + "/e9*.json") - lab_file_list = glob.glob(os.getcwd() + "/[!e9]*.json") - - for filename in exp_file_list: - json_path_list.append(filename) -except Exception as e: - print str(e) - -for file_path in json_path_list: - post_lab_spec(file_path) -post_lab_spec(lab_file_list[0]) diff --git a/specifications/amrita/bioinformatics-virtual-lab-i/e98862.json b/specifications/amrita/bioinformatics-virtual-lab-i/e98862.json deleted file mode 100644 index 6c0b49d..0000000 --- a/specifications/amrita/bioinformatics-virtual-lab-i/e98862.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "experiment": { - "id": "e98862", - "name": "Designing a primer", - "discipline_id": "biotech", - "institute_id": "amrita", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlab.amrita.edu/index.php?sub=3&brch=273&sim=1501&cnt=1" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Designing a primer", - "assets": [], - "sections" : [ - "Theory", - "Procedure", - "Self Evaluation", - "Simulator", - "Assignment", - "Reference", - "Feedback" - ] - } -} diff --git a/specifications/amrita/bioinformatics-virtual-lab-i/e98863.json b/specifications/amrita/bioinformatics-virtual-lab-i/e98863.json deleted file mode 100644 index cf294e2..0000000 --- a/specifications/amrita/bioinformatics-virtual-lab-i/e98863.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "experiment": { - "id": "e98863", - "name": "Retrieving Gene Information from TAIR database", - "discipline_id": "biotech", - "institute_id": "amrita", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlab.amrita.edu/index.php?sub=3&brch=273&sim=1435&cnt=1" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Retrieving Gene Information from TAIR database", - "assets": [], - "sections" : [ - "Theory", - "Procedure", - "Self Evaluation", - "Simulator", - "Assignment", - "Reference", - "Feedback" - ] - } -} diff --git a/specifications/amrita/bioinformatics-virtual-lab-i/e98864.json b/specifications/amrita/bioinformatics-virtual-lab-i/e98864.json deleted file mode 100644 index 8942198..0000000 --- a/specifications/amrita/bioinformatics-virtual-lab-i/e98864.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "experiment": { - "id": "e98864", - "name": "Retrieving Motif Information of a Protein Using Prosite", - "discipline_id": "biotech", - "institute_id": "amrita", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlab.amrita.edu/index.php?sub=3&brch=273&sim=1426&cnt=1" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Retrieving Motif Information of a Protein Using Prosite", - "assets": [], - "sections" : [ - "Theory", - "Procedure", - "Self Evaluation", - "Simulator", - "Assignment", - "Reference", - "Feedback" - ] - } -} diff --git a/specifications/amrita/bioinformatics-virtual-lab-i/e98865.json b/specifications/amrita/bioinformatics-virtual-lab-i/e98865.json deleted file mode 100644 index e71643d..0000000 --- a/specifications/amrita/bioinformatics-virtual-lab-i/e98865.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "experiment": { - "id": "e98865", - "name": "Retrieving structural data of a protein using PDB database", - "discipline_id": "biotech", - "institute_id": "amrita", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlab.amrita.edu/index.php?sub=3&brch=273&sim=1440&cnt=1" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Retrieving structural data of a protein using PDB database", - "assets": [], - "sections" : [ - "Theory", - "Procedure", - "Self Evaluation", - "Simulator", - "Assignment", - "Reference", - "Feedback" - ] - } -} diff --git a/specifications/amrita/bioinformatics-virtual-lab-i/e98866.json b/specifications/amrita/bioinformatics-virtual-lab-i/e98866.json deleted file mode 100644 index 2c92d4e..0000000 --- a/specifications/amrita/bioinformatics-virtual-lab-i/e98866.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "experiment": { - "id": "e98866", - "name": "Finding ORF of a Given Sequence", - "discipline_id": "biotech", - "institute_id": "amrita", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlab.amrita.edu/index.php?sub=3&brch=273&sim=1432&cnt=1" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Finding ORF of a Given Sequence", - "assets": [], - "sections" : [ - "Theory", - "Procedure", - "Self Evaluation", - "Simulator", - "Assignment", - "Reference", - "Feedback" - ] - } -} diff --git a/specifications/amrita/bioinformatics-virtual-lab-i/e98867.json b/specifications/amrita/bioinformatics-virtual-lab-i/e98867.json deleted file mode 100644 index 0c3a1cc..0000000 --- a/specifications/amrita/bioinformatics-virtual-lab-i/e98867.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "experiment": { - "id": "e98867", - "name": "Retrieving articles using PubMed", - "discipline_id": "biotech", - "institute_id": "amrita", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlab.amrita.edu/index.php?sub=3&brch=273&sim=1442&cnt=1" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Retrieving articles using PubMed", - "assets": [], - "sections" : [ - "Theory", - "Procedure", - "Self Evaluation", - "Simulator", - "Assignment", - "Reference", - "Feedback" - ] - } -} diff --git a/specifications/amrita/bioinformatics-virtual-lab-i/e98868.json b/specifications/amrita/bioinformatics-virtual-lab-i/e98868.json deleted file mode 100644 index a805304..0000000 --- a/specifications/amrita/bioinformatics-virtual-lab-i/e98868.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "experiment": { - "id": "e98868", - "name": "Retrieve gene expression data from GEO", - "discipline_id": "biotech", - "institute_id": "amrita", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlab.amrita.edu/index.php?sub=3&brch=273&sim=1452&cnt=1" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Retrieve gene expression data from GEO", - "assets": [], - "sections" : [ - "Theory", - "Procedure", - "Self Evaluation", - "Simulator", - "Assignment", - "Reference", - "Feedback" - ] - } -} diff --git a/specifications/amrita/bioinformatics-virtual-lab-i/e98869.json b/specifications/amrita/bioinformatics-virtual-lab-i/e98869.json deleted file mode 100644 index 1bd2c0b..0000000 --- a/specifications/amrita/bioinformatics-virtual-lab-i/e98869.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "experiment": { - "id": "e98869", - "name": "Locating the chromosome of a Gene", - "discipline_id": "biotech", - "institute_id": "amrita", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlab.amrita.edu/index.php?sub=3&brch=273&sim=1429&cnt=1" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Locating the chromosome of a Gene", - "assets": [], - "sections" : [ - "Theory", - "Procedure", - "Self Evaluation", - "Simulator", - "Assignment", - "Reference", - "Feedback" - ] - } -} diff --git a/specifications/amrita/bioinformatics-virtual-lab-i/e98870.json b/specifications/amrita/bioinformatics-virtual-lab-i/e98870.json deleted file mode 100644 index 8862da2..0000000 --- a/specifications/amrita/bioinformatics-virtual-lab-i/e98870.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "experiment": { - "id": "e98870", - "name": "Retrieving sequence data from Entrez", - "discipline_id": "biotech", - "institute_id": "amrita", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlab.amrita.edu/index.php?sub=3&brch=273&sim=1437&cnt=1" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Retrieving sequence data from Entrez", - "assets": [], - "sections" : [ - "Theory", - "Procedure", - "Self Evaluation", - "Simulator", - "Assignment", - "Reference", - "Feedback" - ] - } -} diff --git a/specifications/amrita/bioinformatics-virtual-lab-ii/bioinformatics-virtual-lab-ii.json b/specifications/amrita/bioinformatics-virtual-lab-ii/bioinformatics-virtual-lab-ii.json deleted file mode 100644 index 304c29f..0000000 --- a/specifications/amrita/bioinformatics-virtual-lab-ii/bioinformatics-virtual-lab-ii.json +++ /dev/null @@ -1,38 +0,0 @@ -{ - "lab": { - "id": "biotech09", - "name": "bioinformatics virtual lab ii", - "discipline_id": "biotech", - "institute_id": "amrita", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlab.amrita.edu/index.php?sub=3&brch=274" - } - ], - "integration_level": 4, - "overview": "This lab deals with bioinformatics virtual lab ii", - "assets": [], - "sections": [ - { - "name": "Introduction" - }, - { - "experiments" : [ - "e98854", - "e98853", - "e98852", - "e98852", - "e98851", - "e98850", - "e98849", - "e98848", - "e98847", - "e98846" - ] - } - ] - } -} diff --git a/specifications/amrita/bioinformatics-virtual-lab-ii/dump_json_to_lds.py b/specifications/amrita/bioinformatics-virtual-lab-ii/dump_json_to_lds.py deleted file mode 100644 index 78c74fa..0000000 --- a/specifications/amrita/bioinformatics-virtual-lab-ii/dump_json_to_lds.py +++ /dev/null @@ -1,44 +0,0 @@ - -import os -import os.path -import json -import requests -import glob - -URL= 'http://localhost:5000' -json_path_list = [] - -def post_lab_spec(file_path): - - with open(file_path) as json_file: - print file_path - data = json.load(json_file) - if 'lab' in data.keys(): - end_point = "/labs" - if 'experiment' in data.keys(): - end_point = "/experiments" - - data['key'] = 'defaultkey' - APP_URL = URL + end_point - headers = {'Content-Type': 'application/json'} - try: - response = requests.post(APP_URL, data = json.dumps(data), - headers=headers) - if response.status_code == 200: - print "Added json data : " + file_path - else: - print "Errore in adding json file " + file_path + " due to " + response.text - except Exception as e: - print str(e) -try: - exp_file_list = glob.glob(os.getcwd() + "/e9*.json") - lab_file_list = glob.glob(os.getcwd() + "/[!e9]*.json") - - for filename in exp_file_list: - json_path_list.append(filename) -except Exception as e: - print str(e) - -for file_path in json_path_list: - post_lab_spec(file_path) -post_lab_spec(lab_file_list[0]) diff --git a/specifications/amrita/bioinformatics-virtual-lab-ii/e98846.json b/specifications/amrita/bioinformatics-virtual-lab-ii/e98846.json deleted file mode 100644 index 9fdd35e..0000000 --- a/specifications/amrita/bioinformatics-virtual-lab-ii/e98846.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "experiment": { - "id": "e98846", - "name": "Genome Annotation and Multiple Sequence Allignment.", - "discipline_id": "biotech", - "institute_id": "amrita", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlab.amrita.edu/index.php?sub=3&brch=274&sim=1500&cnt=1" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Genome Annotation and Multiple Sequence Allignment.", - "assets": [], - "sections" : [ - "Theory", - "Procedure", - "Self Evaluation", - "Simulator", - "Assignment", - "Reference", - "Feedback" - ] - } -} diff --git a/specifications/amrita/bioinformatics-virtual-lab-ii/e98847.json b/specifications/amrita/bioinformatics-virtual-lab-ii/e98847.json deleted file mode 100644 index d9b9674..0000000 --- a/specifications/amrita/bioinformatics-virtual-lab-ii/e98847.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "experiment": { - "id": "e98847", - "name": "Phylogenetic Analysis using PHYLIP - Unrooted trees", - "discipline_id": "biotech", - "institute_id": "amrita", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlab.amrita.edu/index.php?sub=3&brch=274&sim=1447&cnt=1" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Phylogenetic Analysis using PHYLIP - Unrooted trees", - "assets": [], - "sections" : [ - "Theory", - "Procedure", - "Self Evaluation", - "Simulator", - "Reference", - "Feedback" - ] - } -} diff --git a/specifications/amrita/bioinformatics-virtual-lab-ii/e98848.json b/specifications/amrita/bioinformatics-virtual-lab-ii/e98848.json deleted file mode 100644 index d9abe7d..0000000 --- a/specifications/amrita/bioinformatics-virtual-lab-ii/e98848.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "experiment": { - "id": "e98848", - "name": "Phylogenetic Analysis using PHYLIP - Rooted trees", - "discipline_id": "biotech", - "institute_id": "amrita", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlab.amrita.edu/index.php?sub=3&brch=274&sim=1444&cnt=1" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Phylogenetic Analysis using PHYLIP - Rooted trees", - "assets": [], - "sections" : [ - "Theory", - "Procedure", - "Self Evaluation", - "Simulator", - "Assignment", - "Reference", - "Feedback" - ] - } -} diff --git a/specifications/amrita/bioinformatics-virtual-lab-ii/e98849.json b/specifications/amrita/bioinformatics-virtual-lab-ii/e98849.json deleted file mode 100644 index 313dd7b..0000000 --- a/specifications/amrita/bioinformatics-virtual-lab-ii/e98849.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "experiment": { - "id": "e98849", - "name": "Construction of Cladogram", - "discipline_id": "biotech", - "institute_id": "amrita", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlab.amrita.edu/index.php?sub=3&brch=274&sim=1453&cnt=1" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Construction of Cladogram", - "assets": [], - "sections" : [ - "Theory", - "Procedure", - "Self Evaluation", - "Simulator", - "Assignment", - "Reference", - "Feedback" - ] - } -} diff --git a/specifications/amrita/bioinformatics-virtual-lab-ii/e98850.json b/specifications/amrita/bioinformatics-virtual-lab-ii/e98850.json deleted file mode 100644 index 9fb5d43..0000000 --- a/specifications/amrita/bioinformatics-virtual-lab-ii/e98850.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "experiment": { - "id": "e98850", - "name": "Aligning Multiple Sequences with CLUSTAL W", - "discipline_id": "biotech", - "institute_id": "amrita", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlab.amrita.edu/index.php?sub=3&brch=274&sim=1438&cnt=1" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Aligning Multiple Sequences with CLUSTAL W", - "assets": [], - "sections" : [ - "Theory", - "Procedure", - "Self Evaluation", - "Simulator", - "Assignment", - "Reference", - "Feedback" - ] - } -} diff --git a/specifications/amrita/bioinformatics-virtual-lab-ii/e98851.json b/specifications/amrita/bioinformatics-virtual-lab-ii/e98851.json deleted file mode 100644 index 897da7a..0000000 --- a/specifications/amrita/bioinformatics-virtual-lab-ii/e98851.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "experiment": { - "id": "e98851", - "name": "Pairwise sequence alignment using FASTA", - "discipline_id": "biotech", - "institute_id": "amrita", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlab.amrita.edu/index.php?sub=3&brch=274&sim=1434&cnt=1" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Pairwise sequence alignment using FASTA", - "assets": [], - "sections" : [ - "Theory", - "Procedure", - "Self Evaluation", - "Simulator", - "Assignment", - "Reference", - "Feedback" - ] - } -} diff --git a/specifications/amrita/bioinformatics-virtual-lab-ii/e98852.json b/specifications/amrita/bioinformatics-virtual-lab-ii/e98852.json deleted file mode 100644 index 640cd95..0000000 --- a/specifications/amrita/bioinformatics-virtual-lab-ii/e98852.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "experiment": { - "id": "e98852", - "name": "Pairwise Sequence Alignment using BLAST", - "discipline_id": "biotech", - "institute_id": "amrita", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlab.amrita.edu/index.php?sub=3&brch=274&sim=1428&cnt=1" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Pairwise Sequence Alignment using BLAST", - "assets": [], - "sections" : [ - "Theory", - "Procedure", - "Self Evaluation", - "Simulator", - "Assignment", - "Reference", - "Feedback" - ] - } -} diff --git a/specifications/amrita/bioinformatics-virtual-lab-ii/e98853.json b/specifications/amrita/bioinformatics-virtual-lab-ii/e98853.json deleted file mode 100644 index 6d31cea..0000000 --- a/specifications/amrita/bioinformatics-virtual-lab-ii/e98853.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "experiment": { - "id": "e98853", - "name": "Smith-Waterman Algorithm - Local Alignment of Sequences", - "discipline_id": "biotech", - "institute_id": "amrita", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlab.amrita.edu/index.php?sub=3&brch=274&sim=1433&cnt=1" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Smith-Waterman Algorithm - Local Alignment of Sequences", - "assets": [], - "sections" : [ - "Theory", - "Procedure", - "Self Evaluation", - "Simulator", - "Assignment", - "Reference", - "Feedback" - ] - } -} diff --git a/specifications/amrita/bioinformatics-virtual-lab-ii/e98854.json b/specifications/amrita/bioinformatics-virtual-lab-ii/e98854.json deleted file mode 100644 index 9dfa50b..0000000 --- a/specifications/amrita/bioinformatics-virtual-lab-ii/e98854.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "experiment": { - "id": "e98854", - "name": "Global alignment of two sequences - Needleman-Wunsch Algorithm", - "discipline_id": "biotech", - "institute_id": "amrita", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlab.amrita.edu/index.php?sub=3&brch=274&sim=1431&cnt=1" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Global alignment of two sequences - Needleman-Wunsch Algorithm", - "assets": [], - "sections" : [ - "Theory", - "Procedure", - "Self Evaluation", - "Simulator", - "Assignment", - "Reference", - "Feedback" - ] - } -} diff --git a/specifications/amrita/bioinformatics-virtual-lab-iii/bioinformatics-virtual-lab-iii.json b/specifications/amrita/bioinformatics-virtual-lab-iii/bioinformatics-virtual-lab-iii.json deleted file mode 100644 index 268b6a5..0000000 --- a/specifications/amrita/bioinformatics-virtual-lab-iii/bioinformatics-virtual-lab-iii.json +++ /dev/null @@ -1,38 +0,0 @@ -{ - "lab": { - "id": "biotech10", - "name": "bioinformatics virtual lab iii", - "discipline_id": "biotech", - "institute_id": "amrita", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlab.amrita.edu/index.php?sub=3&brch=275" - } - ], - "integration_level": 4, - "overview": "This lab deals with bioinformatics virtual lab iii", - "assets": [], - "sections": [ - { - "name": "Introduction" - }, - { - "experiments" : [ - "e98845", - "e98844", - "e98843", - "e98842", - "e98841", - "e98840", - "e98839", - "e98838", - "e98837", - "e98836" - ] - } - ] - } -} diff --git a/specifications/amrita/bioinformatics-virtual-lab-iii/dump_json_to_lds.py b/specifications/amrita/bioinformatics-virtual-lab-iii/dump_json_to_lds.py deleted file mode 100644 index 78c74fa..0000000 --- a/specifications/amrita/bioinformatics-virtual-lab-iii/dump_json_to_lds.py +++ /dev/null @@ -1,44 +0,0 @@ - -import os -import os.path -import json -import requests -import glob - -URL= 'http://localhost:5000' -json_path_list = [] - -def post_lab_spec(file_path): - - with open(file_path) as json_file: - print file_path - data = json.load(json_file) - if 'lab' in data.keys(): - end_point = "/labs" - if 'experiment' in data.keys(): - end_point = "/experiments" - - data['key'] = 'defaultkey' - APP_URL = URL + end_point - headers = {'Content-Type': 'application/json'} - try: - response = requests.post(APP_URL, data = json.dumps(data), - headers=headers) - if response.status_code == 200: - print "Added json data : " + file_path - else: - print "Errore in adding json file " + file_path + " due to " + response.text - except Exception as e: - print str(e) -try: - exp_file_list = glob.glob(os.getcwd() + "/e9*.json") - lab_file_list = glob.glob(os.getcwd() + "/[!e9]*.json") - - for filename in exp_file_list: - json_path_list.append(filename) -except Exception as e: - print str(e) - -for file_path in json_path_list: - post_lab_spec(file_path) -post_lab_spec(lab_file_list[0]) diff --git a/specifications/amrita/bioinformatics-virtual-lab-iii/e98836.json b/specifications/amrita/bioinformatics-virtual-lab-iii/e98836.json deleted file mode 100644 index 56d412b..0000000 --- a/specifications/amrita/bioinformatics-virtual-lab-iii/e98836.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "experiment": { - "id": "e98836", - "name": "Protein- Ligand Interaction", - "discipline_id": "biotech", - "institute_id": "amrita", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlab.amrita.edu/index.php?sub=3&brch=275&sim=1495&cnt=1" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Protein- Ligand Interaction", - "assets": [], - "sections" : [ - "Theory", - "Procedure", - "Self Evaluation", - "Simulator", - "Assignment", - "Reference", - "Feedback", - "NPTEL Video" - ] - } -} diff --git a/specifications/amrita/bioinformatics-virtual-lab-iii/e98837.json b/specifications/amrita/bioinformatics-virtual-lab-iii/e98837.json deleted file mode 100644 index bebbc7e..0000000 --- a/specifications/amrita/bioinformatics-virtual-lab-iii/e98837.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "experiment": { - "id": "e98837", - "name": "Homology Modeling using Modeller", - "discipline_id": "biotech", - "institute_id": "amrita", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlab.amrita.edu/index.php?sub=3&brch=275&sim=1481&cnt=1" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Homology Modeling using Modeller", - "assets": [], - "sections" : [ - "Theory", - "Procedure", - "Self Evaluation", - "Simulator", - "Assignment", - "Reference", - "Feedback" - ] - } -} diff --git a/specifications/amrita/bioinformatics-virtual-lab-iii/e98838.json b/specifications/amrita/bioinformatics-virtual-lab-iii/e98838.json deleted file mode 100644 index cf1de3b..0000000 --- a/specifications/amrita/bioinformatics-virtual-lab-iii/e98838.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "experiment": { - "id": "e98838", - "name": "Converting chemical file formats", - "discipline_id": "biotech", - "institute_id": "amrita", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlab.amrita.edu/index.php?sub=3&brch=275&sim=1499&cnt=1" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Converting chemical file formats", - "assets": [], - "sections" : [ - "Theory", - "Procedure", - "Self Evaluation", - "Simulator", - "Assignment", - "Reference", - "Feedback" - ] - } -} diff --git a/specifications/amrita/bioinformatics-virtual-lab-iii/e98839.json b/specifications/amrita/bioinformatics-virtual-lab-iii/e98839.json deleted file mode 100644 index 4cb2830..0000000 --- a/specifications/amrita/bioinformatics-virtual-lab-iii/e98839.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "experiment": { - "id": "e98839", - "name": "Retrieving details of a drug molecule", - "discipline_id": "biotech", - "institute_id": "amrita", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlab.amrita.edu/index.php?sub=3&brch=275&sim=1502&cnt=1" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Retrieving details of a drug molecule", - "assets": [], - "sections" : [ - "Theory", - "Procedure", - "Self Evaluation", - "Simulator", - "Assignment", - "Reference", - "Feedback" - ] - } -} diff --git a/specifications/amrita/bioinformatics-virtual-lab-iii/e98840.json b/specifications/amrita/bioinformatics-virtual-lab-iii/e98840.json deleted file mode 100644 index 077741a..0000000 --- a/specifications/amrita/bioinformatics-virtual-lab-iii/e98840.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "experiment": { - "id": "e98840", - "name": "Surface Analysis of a Protein Using CASTp", - "discipline_id": "biotech", - "institute_id": "amrita", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlab.amrita.edu/index.php?sub=3&brch=275&sim=1479&cnt=1" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Surface Analysis of a Protein Using CASTp", - "assets": [], - "sections" : [ - "Theory", - "Procedure", - "Self Evaluation", - "Simulator", - "Assignment", - "Reference", - "Feedback" - ] - } -} diff --git a/specifications/amrita/bioinformatics-virtual-lab-iii/e98841.json b/specifications/amrita/bioinformatics-virtual-lab-iii/e98841.json deleted file mode 100644 index eee3144..0000000 --- a/specifications/amrita/bioinformatics-virtual-lab-iii/e98841.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "experiment": { - "id": "e98841", - "name": "Secondary structure analysis of a protein using SOPMA", - "discipline_id": "biotech", - "institute_id": "amrita", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlab.amrita.edu/index.php?sub=3&brch=275&sim=1454&cnt=1" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Secondary structure analysis of a protein using SOPMA", - "assets": [], - "sections" : [ - "Theory", - "Procedure", - "Self Evaluation", - "Simulator", - "Assignment", - "Reference", - "Feedback" - ] - } -} diff --git a/specifications/amrita/bioinformatics-virtual-lab-iii/e98842.json b/specifications/amrita/bioinformatics-virtual-lab-iii/e98842.json deleted file mode 100644 index 3d0da6d..0000000 --- a/specifications/amrita/bioinformatics-virtual-lab-iii/e98842.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "experiment": { - "id": "e98842", - "name": "Primary Structure Analysis of a Protein Using ProtParam", - "discipline_id": "biotech", - "institute_id": "amrita", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlab.amrita.edu/index.php?sub=3&brch=275&sim=1455&cnt=1" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Primary Structure Analysis of a Protein Using ProtParam", - "assets": [], - "sections" : [ - "Theory", - "Procedure", - "Self Evaluation", - "Simulator", - "Assignment", - "Reference", - "Feedback" - ] - } -} diff --git a/specifications/amrita/bioinformatics-virtual-lab-iii/e98843.json b/specifications/amrita/bioinformatics-virtual-lab-iii/e98843.json deleted file mode 100644 index 3930244..0000000 --- a/specifications/amrita/bioinformatics-virtual-lab-iii/e98843.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "experiment": { - "id": "e98843", - "name": "Finding the Active Site Pockets of a given Protein Molecule", - "discipline_id": "biotech", - "institute_id": "amrita", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlab.amrita.edu/index.php?sub=3&brch=275&sim=1443&cnt=1" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Finding the Active Site Pockets of a given Protein Molecule", - "assets": [], - "sections" : [ - "Theory", - "Procedure", - "Self Evaluation", - "Simulator", - "Assignment", - "Reference", - "Feedback" - ] - } -} diff --git a/specifications/amrita/bioinformatics-virtual-lab-iii/e98844.json b/specifications/amrita/bioinformatics-virtual-lab-iii/e98844.json deleted file mode 100644 index 50941bd..0000000 --- a/specifications/amrita/bioinformatics-virtual-lab-iii/e98844.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "experiment": { - "id": "e98844", - "name": "Calculating the Distance between the Ligand and a Particular Amino acid", - "discipline_id": "biotech", - "institute_id": "amrita", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlab.amrita.edu/index.php?sub=3&brch=275&sim=1446&cnt=1" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Calculating the Distance between the Ligand and a Particular Amino acid", - "assets": [], - "sections" : [ - "Theory", - "Procedure", - "Self Evaluation", - "Simulator", - "Assignment", - "Reference", - "Feedback" - ] - } -} diff --git a/specifications/amrita/bioinformatics-virtual-lab-iii/e98845.json b/specifications/amrita/bioinformatics-virtual-lab-iii/e98845.json deleted file mode 100644 index 97dd9f5..0000000 --- a/specifications/amrita/bioinformatics-virtual-lab-iii/e98845.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "experiment": { - "id": "e98845", - "name": "Visualizing the Secondary Structure of a Protein", - "discipline_id": "biotech", - "institute_id": "amrita", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlab.amrita.edu/index.php?sub=3&brch=275&sim=1427&cnt=1" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Visualizing the Secondary Structure of a Protein", - "assets": [], - "sections" : [ - "Theory", - "Procedure", - "Self Evaluation", - "Simulator", - "Assignment", - "Reference", - "Feedback" - ] - } -} diff --git a/specifications/amrita/computer-aided-drug-design-virtual-lab/computer-aided-drug-design-virtual-lab.json b/specifications/amrita/computer-aided-drug-design-virtual-lab/computer-aided-drug-design-virtual-lab.json deleted file mode 100644 index 54557f0..0000000 --- a/specifications/amrita/computer-aided-drug-design-virtual-lab/computer-aided-drug-design-virtual-lab.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "lab": { - "id": "biotech06", - "name": "computer-aided drug design virtual lab", - "discipline_id": "biotech", - "institute_id": "amrita", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlab.amrita.edu/index.php?sub=3&brch=277" - } - ], - "integration_level": 4, - "overview": "This lab deals with computer-aided drug design virtual lab", - "assets": [], - "sections": [ - { - "name": "Introduction" - }, - { - "experiments" : [ - "e98827", - "e98826", - "e98825", - "e98824", - "e98823", - "e98822", - "e98821", - "e98820" - ] - } - ] - } -} diff --git a/specifications/amrita/computer-aided-drug-design-virtual-lab/dump_json_to_lds.py b/specifications/amrita/computer-aided-drug-design-virtual-lab/dump_json_to_lds.py deleted file mode 100644 index 78c74fa..0000000 --- a/specifications/amrita/computer-aided-drug-design-virtual-lab/dump_json_to_lds.py +++ /dev/null @@ -1,44 +0,0 @@ - -import os -import os.path -import json -import requests -import glob - -URL= 'http://localhost:5000' -json_path_list = [] - -def post_lab_spec(file_path): - - with open(file_path) as json_file: - print file_path - data = json.load(json_file) - if 'lab' in data.keys(): - end_point = "/labs" - if 'experiment' in data.keys(): - end_point = "/experiments" - - data['key'] = 'defaultkey' - APP_URL = URL + end_point - headers = {'Content-Type': 'application/json'} - try: - response = requests.post(APP_URL, data = json.dumps(data), - headers=headers) - if response.status_code == 200: - print "Added json data : " + file_path - else: - print "Errore in adding json file " + file_path + " due to " + response.text - except Exception as e: - print str(e) -try: - exp_file_list = glob.glob(os.getcwd() + "/e9*.json") - lab_file_list = glob.glob(os.getcwd() + "/[!e9]*.json") - - for filename in exp_file_list: - json_path_list.append(filename) -except Exception as e: - print str(e) - -for file_path in json_path_list: - post_lab_spec(file_path) -post_lab_spec(lab_file_list[0]) diff --git a/specifications/amrita/computer-aided-drug-design-virtual-lab/e98820.json b/specifications/amrita/computer-aided-drug-design-virtual-lab/e98820.json deleted file mode 100644 index 440c6a2..0000000 --- a/specifications/amrita/computer-aided-drug-design-virtual-lab/e98820.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "experiment": { - "id": "e98820", - "name": "Toxicity prediction of a Molecule", - "discipline_id": "biotech", - "institute_id": "amrita", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlab.amrita.edu/index.php?sub=3&brch=277&sim=1494&cnt=1" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Toxicity prediction of a Molecule", - "assets": [], - "sections" : [ - "Theory", - "Procedure", - "Self Evaluation", - "Simulator", - "Assignment", - "Reference", - "Feedback" - ] - } -} diff --git a/specifications/amrita/computer-aided-drug-design-virtual-lab/e98821.json b/specifications/amrita/computer-aided-drug-design-virtual-lab/e98821.json deleted file mode 100644 index 0e81138..0000000 --- a/specifications/amrita/computer-aided-drug-design-virtual-lab/e98821.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "experiment": { - "id": "e98821", - "name": "Absorption and Distribution Property Prediction in Drug Designing Process", - "discipline_id": "biotech", - "institute_id": "amrita", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlab.amrita.edu/index.php?sub=3&brch=277&sim=1497&cnt=1" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Absorption and Distribution Property Prediction in Drug Designing Process", - "assets": [], - "sections" : [ - "Theory", - "Procedure", - "Self Evaluation", - "Simulator", - "Assignment", - "Reference", - "Feedback" - ] - } -} diff --git a/specifications/amrita/computer-aided-drug-design-virtual-lab/e98822.json b/specifications/amrita/computer-aided-drug-design-virtual-lab/e98822.json deleted file mode 100644 index 031e049..0000000 --- a/specifications/amrita/computer-aided-drug-design-virtual-lab/e98822.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "experiment": { - "id": "e98822", - "name": "Drug-Receptor Interaction", - "discipline_id": "biotech", - "institute_id": "amrita", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlab.amrita.edu/index.php?sub=3&brch=277&sim=1498&cnt=1" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Drug-Receptor Interaction", - "assets": [], - "sections" : [ - "Theory", - "Procedure", - "Self Evaluation", - "Simulator", - "Assignment", - "Reference", - "Feedback", - "NPTEL Video" - ] - } -} diff --git a/specifications/amrita/computer-aided-drug-design-virtual-lab/e98823.json b/specifications/amrita/computer-aided-drug-design-virtual-lab/e98823.json deleted file mode 100644 index 8b248a2..0000000 --- a/specifications/amrita/computer-aided-drug-design-virtual-lab/e98823.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "experiment": { - "id": "e98823", - "name": "Predict the structure of protein-Homology Modeling", - "discipline_id": "biotech", - "institute_id": "amrita", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlab.amrita.edu/index.php?sub=3&brch=277&sim=1492&cnt=1" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Predict the structure of protein-Homology Modeling", - "assets": [], - "sections" : [ - "Theory", - "Procedure", - "Self Evaluation", - "Simulator", - "Assignment", - "Reference", - "Feedback" - ] - } -} diff --git a/specifications/amrita/computer-aided-drug-design-virtual-lab/e98824.json b/specifications/amrita/computer-aided-drug-design-virtual-lab/e98824.json deleted file mode 100644 index 0a4c295..0000000 --- a/specifications/amrita/computer-aided-drug-design-virtual-lab/e98824.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "experiment": { - "id": "e98824", - "name": "Energy minimization of a molecule", - "discipline_id": "biotech", - "institute_id": "amrita", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlab.amrita.edu/index.php?sub=3&brch=277&sim=1491&cnt=1" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Energy minimization of a molecule", - "assets": [], - "sections" : [ - "Theory", - "Procedure", - "Self Evaluation", - "Simulator", - "Assignment", - "Reference", - "Feedback" - ] - } -} diff --git a/specifications/amrita/computer-aided-drug-design-virtual-lab/e98825.json b/specifications/amrita/computer-aided-drug-design-virtual-lab/e98825.json deleted file mode 100644 index ffdec0f..0000000 --- a/specifications/amrita/computer-aided-drug-design-virtual-lab/e98825.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "experiment": { - "id": "e98825", - "name": "Dihedral angle calculation of a molecule", - "discipline_id": "biotech", - "institute_id": "amrita", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlab.amrita.edu/index.php?sub=3&brch=277&sim=1471&cnt=1" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Dihedral angle calculation of a molecule", - "assets": [], - "sections" : [ - "Theory", - "Procedure", - "Self Evaluation", - "Simulator", - "Assignment", - "Reference", - "Feedback" - ] - } -} diff --git a/specifications/amrita/computer-aided-drug-design-virtual-lab/e98826.json b/specifications/amrita/computer-aided-drug-design-virtual-lab/e98826.json deleted file mode 100644 index 1e5214c..0000000 --- a/specifications/amrita/computer-aided-drug-design-virtual-lab/e98826.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "experiment": { - "id": "e98826", - "name": "Introducing Hydrogen atoms to a molecule", - "discipline_id": "biotech", - "institute_id": "amrita", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlab.amrita.edu/index.php?sub=3&brch=277&sim=1462&cnt=1" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Introducing Hydrogen atoms to a molecule", - "assets": [], - "sections" : [ - "Theory", - "Procedure", - "Self Evaluation", - "Simulator", - "Assignment", - "Reference", - "Feedback" - ] - } -} diff --git a/specifications/amrita/computer-aided-drug-design-virtual-lab/e98827.json b/specifications/amrita/computer-aided-drug-design-virtual-lab/e98827.json deleted file mode 100644 index 5e371b3..0000000 --- a/specifications/amrita/computer-aided-drug-design-virtual-lab/e98827.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "experiment": { - "id": "e98827", - "name": "Constructing computational model of a molecule", - "discipline_id": "biotech", - "institute_id": "amrita", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlab.amrita.edu/index.php?sub=3&brch=277&sim=1460&cnt=1" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Constructing computational model of a molecule", - "assets": [], - "sections" : [ - "Theory", - "Procedure", - "Self Evaluation", - "Simulator", - "Assignment", - "Reference", - "Feedback" - ] - } -} diff --git a/specifications/amrita/harmonic-motion-and-waves-virtual-lab/dump_json_to_lds.py b/specifications/amrita/harmonic-motion-and-waves-virtual-lab/dump_json_to_lds.py deleted file mode 100644 index 78c74fa..0000000 --- a/specifications/amrita/harmonic-motion-and-waves-virtual-lab/dump_json_to_lds.py +++ /dev/null @@ -1,44 +0,0 @@ - -import os -import os.path -import json -import requests -import glob - -URL= 'http://localhost:5000' -json_path_list = [] - -def post_lab_spec(file_path): - - with open(file_path) as json_file: - print file_path - data = json.load(json_file) - if 'lab' in data.keys(): - end_point = "/labs" - if 'experiment' in data.keys(): - end_point = "/experiments" - - data['key'] = 'defaultkey' - APP_URL = URL + end_point - headers = {'Content-Type': 'application/json'} - try: - response = requests.post(APP_URL, data = json.dumps(data), - headers=headers) - if response.status_code == 200: - print "Added json data : " + file_path - else: - print "Errore in adding json file " + file_path + " due to " + response.text - except Exception as e: - print str(e) -try: - exp_file_list = glob.glob(os.getcwd() + "/e9*.json") - lab_file_list = glob.glob(os.getcwd() + "/[!e9]*.json") - - for filename in exp_file_list: - json_path_list.append(filename) -except Exception as e: - print str(e) - -for file_path in json_path_list: - post_lab_spec(file_path) -post_lab_spec(lab_file_list[0]) diff --git a/specifications/amrita/harmonic-motion-and-waves-virtual-lab/e99201.json b/specifications/amrita/harmonic-motion-and-waves-virtual-lab/e99201.json deleted file mode 100644 index e9d96fd..0000000 --- a/specifications/amrita/harmonic-motion-and-waves-virtual-lab/e99201.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "experiment": { - "id": "e99201", - "name": "Hartley Oscillator", - "discipline_id": "phy-sc", - "institute_id": "amrita", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlab.amrita.edu/?sub=1&brch=201&sim=1137&cnt=1" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Hartley Oscillator", - "assets": [], - "sections" : [ - "Theory", - "Procedure", - "Self Evaluation", - "Simulator", - "Assignment", - "Reference", - "Feedback" - ] - } -} diff --git a/specifications/amrita/harmonic-motion-and-waves-virtual-lab/e99202.json b/specifications/amrita/harmonic-motion-and-waves-virtual-lab/e99202.json deleted file mode 100644 index 3316bcf..0000000 --- a/specifications/amrita/harmonic-motion-and-waves-virtual-lab/e99202.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "experiment": { - "id": "e99202", - "name": "Colpitts Oscillator", - "discipline_id": "phy-sc", - "institute_id": "amrita", - "developers": [ - { - "name": "Amrita CREATE", - "email": "VLandroid@am.amrita.edu" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlab.amrita.edu/?sub=1&brch=201&sim=1142&cnt=1" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Colpitts Oscillator", - "assets": [], - "sections" : [ - "Theory", - "Procedure", - "Self Evaluation", - "Simulator", - "Assignment", - "Reference", - "Feedback" - ] - } -} diff --git a/specifications/amrita/harmonic-motion-and-waves-virtual-lab/e99203.json b/specifications/amrita/harmonic-motion-and-waves-virtual-lab/e99203.json deleted file mode 100644 index b4d5f7f..0000000 --- a/specifications/amrita/harmonic-motion-and-waves-virtual-lab/e99203.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "experiment": { - "id": "e99203", - "name": "A.C Sonometer", - "discipline_id": "phy-sc", - "institute_id": "amrita", - "developers": [ - { - "name": "Amrita CREATE", - "email": "VLandroid@am.amrita.edu" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlab.amrita.edu/?sub=1&brch=201&sim=366&cnt=1" - } - ], - "integration_level": 4, - "overview": "This experiments deals with A.C Sonometer", - "assets": [], - "sections" : [ - "Theory", - "Procedure", - "Self Evaluation", - "Simulator", - "Assignment", - "Reference", - "Feedback" - ] - } -} diff --git a/specifications/amrita/harmonic-motion-and-waves-virtual-lab/e99204.json b/specifications/amrita/harmonic-motion-and-waves-virtual-lab/e99204.json deleted file mode 100644 index ccfd864..0000000 --- a/specifications/amrita/harmonic-motion-and-waves-virtual-lab/e99204.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "experiment": { - "id": "e99204", - "name": "Doppler Effect", - "discipline_id": "phy-sc", - "institute_id": "amrita", - "developers": [ - { - "name": "Amrita CREATE", - "email": "VLandroid@am.amrita.edu" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlab.amrita.edu/?sub=1&brch=201&sim=368&cnt=1" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Doppler Effect", - "assets": [], - "sections" : [ - "Theory", - "Procedure", - "Self Evaluation", - "Simulator", - "Assignment", - "Reference", - "Feedback" - ] - } -} diff --git a/specifications/amrita/harmonic-motion-and-waves-virtual-lab/e99205.json b/specifications/amrita/harmonic-motion-and-waves-virtual-lab/e99205.json deleted file mode 100644 index 1106c4e..0000000 --- a/specifications/amrita/harmonic-motion-and-waves-virtual-lab/e99205.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "experiment": { - "id": "e99205", - "name": "Ultrasonic Interferometer", - "discipline_id": "phy-sc", - "institute_id": "amrita", - "developers": [ - { - "name": "Amrita CREATE", - "email": "VLandroid@am.amrita.edu" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlab.amrita.edu/?sub=1&brch=201&sim=803&cnt=1" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Ultrasonic Interferometer", - "assets": [], - "sections" : [ - "Theory", - "Procedure", - "Self Evaluation", - "Simulator", - "Assignment", - "Reference", - "Feedback" - ] - } -} diff --git a/specifications/amrita/harmonic-motion-and-waves-virtual-lab/e99206.json b/specifications/amrita/harmonic-motion-and-waves-virtual-lab/e99206.json deleted file mode 100644 index bb07166..0000000 --- a/specifications/amrita/harmonic-motion-and-waves-virtual-lab/e99206.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "experiment": { - "id": "e99206", - "name": "Kundt's Tube Apparatus", - "discipline_id": "phy-sc", - "institute_id": "amrita", - "developers": [ - { - "name": "Amrita CREATE", - "email": "VLandroid@am.amrita.edu" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlab.amrita.edu/?sub=1&brch=201&sim=853&cnt=1" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Kundt's Tube Apparatus", - "assets": [], - "sections" : [ - "Theory", - "Procedure", - "Self Evaluation", - "Animation", - "Simulator", - "Assignment", - "Reference", - "Feedback" - ] - } -} diff --git a/specifications/amrita/harmonic-motion-and-waves-virtual-lab/e99207.json b/specifications/amrita/harmonic-motion-and-waves-virtual-lab/e99207.json deleted file mode 100644 index 8af0be9..0000000 --- a/specifications/amrita/harmonic-motion-and-waves-virtual-lab/e99207.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "experiment": { - "id": "e99207", - "name": "Melde's String Apparatus", - "discipline_id": "phy-sc", - "institute_id": "amrita", - "developers": [ - { - "name": "Amrita CREATE", - "email": "VLandroid@am.amrita.edu" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlab.amrita.edu/?sub=1&brch=201&sim=882&cnt=1" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Melde's String Apparatus", - "assets": [], - "sections" : [ - "Theory", - "Procedure", - "Self Evaluation", - "Simulator", - "Assignment", - "Reference", - "Feedback" - ] - } -} diff --git a/specifications/amrita/harmonic-motion-and-waves-virtual-lab/e99636.json b/specifications/amrita/harmonic-motion-and-waves-virtual-lab/e99636.json deleted file mode 100644 index b2548a9..0000000 --- a/specifications/amrita/harmonic-motion-and-waves-virtual-lab/e99636.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "experiment": { - "id": "e99636", - "name": "Astable multivibrator", - "discipline_id": "phy-sc", - "institute_id": "amrita", - "developers": [ - { - "name": "Amrita CREATE", - "email": "VLandroid@am.amrita.edu" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlab.amrita.edu/?sub=1&brch=201&sim=1167&cnt=1" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Astable multivibrator", - "assets": [], - "sections" : [ - "Theory", - "Self Evaluation", - "Simulator", - "Assignment", - "Reference", - "Feedback" - ] - } -} diff --git a/specifications/amrita/harmonic-motion-and-waves-virtual-lab/harmonic-motion-and-waves-virtual-lab.json b/specifications/amrita/harmonic-motion-and-waves-virtual-lab/harmonic-motion-and-waves-virtual-lab.json deleted file mode 100644 index d930219..0000000 --- a/specifications/amrita/harmonic-motion-and-waves-virtual-lab/harmonic-motion-and-waves-virtual-lab.json +++ /dev/null @@ -1,41 +0,0 @@ -{ - "lab": { - "id": "phy-sc28", - "name": "harmonic motion and waves virtual lab", - "discipline_id": "phy-sc", - "institute_id": "amrita", - "developers": [ - { - "name": "Amrita CREATE", - "email": "VLandroid@am.amrita.edu" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlab.amrita.edu/?sub=1&brch=201" - } - ], - "integration_level": 4, - "overview": "This lab deals with harmonic motion and waves virtual lab", - "assets": [], - "sections": [ - { - "name": "Introduction" - }, - { - "experiments" : [ - "e99636", - "e99207", - "e99206", - "e99205", - "e99204", - "e99203", - "e99202", - "e99201" - ] - } - ] - } -} diff --git a/specifications/amrita/immunology-virtual-lab-i/dump_json_to_lds.py b/specifications/amrita/immunology-virtual-lab-i/dump_json_to_lds.py deleted file mode 100644 index 78c74fa..0000000 --- a/specifications/amrita/immunology-virtual-lab-i/dump_json_to_lds.py +++ /dev/null @@ -1,44 +0,0 @@ - -import os -import os.path -import json -import requests -import glob - -URL= 'http://localhost:5000' -json_path_list = [] - -def post_lab_spec(file_path): - - with open(file_path) as json_file: - print file_path - data = json.load(json_file) - if 'lab' in data.keys(): - end_point = "/labs" - if 'experiment' in data.keys(): - end_point = "/experiments" - - data['key'] = 'defaultkey' - APP_URL = URL + end_point - headers = {'Content-Type': 'application/json'} - try: - response = requests.post(APP_URL, data = json.dumps(data), - headers=headers) - if response.status_code == 200: - print "Added json data : " + file_path - else: - print "Errore in adding json file " + file_path + " due to " + response.text - except Exception as e: - print str(e) -try: - exp_file_list = glob.glob(os.getcwd() + "/e9*.json") - lab_file_list = glob.glob(os.getcwd() + "/[!e9]*.json") - - for filename in exp_file_list: - json_path_list.append(filename) -except Exception as e: - print str(e) - -for file_path in json_path_list: - post_lab_spec(file_path) -post_lab_spec(lab_file_list[0]) diff --git a/specifications/amrita/immunology-virtual-lab-i/e98773.json b/specifications/amrita/immunology-virtual-lab-i/e98773.json deleted file mode 100644 index c173d4b..0000000 --- a/specifications/amrita/immunology-virtual-lab-i/e98773.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "experiment": { - "id": "e98773", - "name": "Isolation of lymphocytes from whole blood", - "discipline_id": "biotech", - "institute_id": "amrita", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlab.amrita.edu/?sub=3&brch=69&sim=1422&cnt=1" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Isolation of lymphocytes from whole blood", - "assets": [], - "sections" : [ - "Theory", - "Procedure", - "Self Evaluation", - "Animation", - "Assignment", - "Reference", - "Feedback" - ] - } -} diff --git a/specifications/amrita/immunology-virtual-lab-i/e98774.json b/specifications/amrita/immunology-virtual-lab-i/e98774.json deleted file mode 100644 index 99af5e7..0000000 --- a/specifications/amrita/immunology-virtual-lab-i/e98774.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "experiment": { - "id": "e98774", - "name": "Extraction of IgG Antibodies from Immunized Hen Egg", - "discipline_id": "biotech", - "institute_id": "amrita", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlab.amrita.edu/?sub=3&brch=69&sim=1419&cnt=1" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Extraction of IgG Antibodies from Immunized Hen Egg", - "assets": [], - "sections" : [ - "Theory", - "Procedure", - "Self Evaluation", - "Animation", - "Assignment", - "Reference", - "Feedback" - ] - } -} diff --git a/specifications/amrita/immunology-virtual-lab-i/e98775.json b/specifications/amrita/immunology-virtual-lab-i/e98775.json deleted file mode 100644 index 56c0e24..0000000 --- a/specifications/amrita/immunology-virtual-lab-i/e98775.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "experiment": { - "id": "e98775", - "name": "Antibody Labeling with HRP", - "discipline_id": "biotech", - "institute_id": "amrita", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlab.amrita.edu/?sub=3&brch=69&sim=1108&cnt=1" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Antibody Labeling with HRP", - "assets": [], - "sections" : [ - "Theory", - "Procedure", - "Self Evaluation", - "Animation", - "Assignment", - "Reference", - "Feedback" - ] - } -} diff --git a/specifications/amrita/immunology-virtual-lab-i/e98776.json b/specifications/amrita/immunology-virtual-lab-i/e98776.json deleted file mode 100644 index 4724899..0000000 --- a/specifications/amrita/immunology-virtual-lab-i/e98776.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "experiment": { - "id": "e98776", - "name": "ELISPOT Assay", - "discipline_id": "biotech", - "institute_id": "amrita", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlab.amrita.edu/?sub=3&brch=69&sim=1098&cnt=1" - } - ], - "integration_level": 4, - "overview": "This experiments deals with ELISPOT Assay", - "assets": [], - "sections" : [ - "Theory", - "Procedure", - "Self Evaluation", - "Animation", - "Assignment", - "Reference", - "Feedback" - ] - } -} diff --git a/specifications/amrita/immunology-virtual-lab-i/e98777.json b/specifications/amrita/immunology-virtual-lab-i/e98777.json deleted file mode 100644 index 546eb4c..0000000 --- a/specifications/amrita/immunology-virtual-lab-i/e98777.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "experiment": { - "id": "e98777", - "name": "SANDWICH Elisa", - "discipline_id": "biotech", - "institute_id": "amrita", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlab.amrita.edu/?sub=3&brch=69&sim=699&cnt=1" - } - ], - "integration_level": 4, - "overview": "This experiments deals with SANDWICH Elisa", - "assets": [], - "sections" : [ - "Theory", - "Procedure", - "Self Evaluation", - "Animation", - "Assignment", - "Reference", - "Feedback", - "NPTEL Video" - ] - } -} diff --git a/specifications/amrita/immunology-virtual-lab-i/e98778.json b/specifications/amrita/immunology-virtual-lab-i/e98778.json deleted file mode 100644 index 521230d..0000000 --- a/specifications/amrita/immunology-virtual-lab-i/e98778.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "experiment": { - "id": "e98778", - "name": "DIRECT Elisa", - "discipline_id": "biotech", - "institute_id": "amrita", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlab.amrita.edu/?sub=3&brch=69&sim=696&cnt=1" - } - ], - "integration_level": 4, - "overview": "This experiments deals with DIRECT Elisa", - "assets": [], - "sections" : [ - "Theory", - "Procedure", - "Self Evaluation", - "Animation", - "Assignment", - "Reference", - "Feedback", - "NPTEL Video" - ] - } -} diff --git a/specifications/amrita/immunology-virtual-lab-i/e98779.json b/specifications/amrita/immunology-virtual-lab-i/e98779.json deleted file mode 100644 index f3ae602..0000000 --- a/specifications/amrita/immunology-virtual-lab-i/e98779.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "experiment": { - "id": "e98779", - "name": "Latex Agglutination", - "discipline_id": "biotech", - "institute_id": "amrita", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlab.amrita.edu/?sub=3&brch=69&sim=195&cnt=1" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Latex Agglutination", - "assets": [], - "sections" : [ - "Theory", - "Procedure", - "Self Evaluation", - "Animation", - "Assignment", - "Reference", - "Feedback" - ] - } -} diff --git a/specifications/amrita/immunology-virtual-lab-i/e98780.json b/specifications/amrita/immunology-virtual-lab-i/e98780.json deleted file mode 100644 index 7bcbb44..0000000 --- a/specifications/amrita/immunology-virtual-lab-i/e98780.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "experiment": { - "id": "e98780", - "name": "Blood Grouping Experiment", - "discipline_id": "biotech", - "institute_id": "amrita", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlab.amrita.edu/?sub=3&brch=69&sim=192&cnt=1" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Blood Grouping Experiment", - "assets": [], - "sections" : [ - "Theory", - "Procedure", - "Self Evaluation", - "Animation", - "Assignment", - "Reference", - "Feedback", - "NPTEL Video" - ] - } -} diff --git a/specifications/amrita/immunology-virtual-lab-i/e98781.json b/specifications/amrita/immunology-virtual-lab-i/e98781.json deleted file mode 100644 index 304f439..0000000 --- a/specifications/amrita/immunology-virtual-lab-i/e98781.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "experiment": { - "id": "e98781", - "name": "Collection of Serum from Blood", - "discipline_id": "biotech", - "institute_id": "amrita", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlab.amrita.edu/?sub=3&brch=69&sim=196&cnt=1" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Collection of Serum from Blood", - "assets": [], - "sections" : [ - "Theory", - "Procedure", - "Self Evaluation", - "Animation", - "Assignment", - "Reference", - "Feedback" - ] - } -} diff --git a/specifications/amrita/immunology-virtual-lab-i/immunology-virtual-lab-i.json b/specifications/amrita/immunology-virtual-lab-i/immunology-virtual-lab-i.json deleted file mode 100644 index c7d4cd4..0000000 --- a/specifications/amrita/immunology-virtual-lab-i/immunology-virtual-lab-i.json +++ /dev/null @@ -1,38 +0,0 @@ -{ - "lab": { - "id": "biotech16", - "name": "immunology virtual lab i", - "discipline_id": "biotech", - "institute_id": "amrita", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlab.amrita.edu/?sub=3&brch=69" - } - ], - "integration_level": 4, - "overview": "This lab deals with immunology virtual lab i", - "assets": [], - "sections": [ - { - "name": "Introduction" - }, - { - "experiments" : [ - "e98781", - "e98780", - "e98779", - "e98778", - "e98778", - "e98777", - "e98776", - "e98775", - "e98774", - "e98773" - ] - } - ] - } -} diff --git a/specifications/amrita/immunology-virtual-lab-ii/dump_json_to_lds.py b/specifications/amrita/immunology-virtual-lab-ii/dump_json_to_lds.py deleted file mode 100644 index 78c74fa..0000000 --- a/specifications/amrita/immunology-virtual-lab-ii/dump_json_to_lds.py +++ /dev/null @@ -1,44 +0,0 @@ - -import os -import os.path -import json -import requests -import glob - -URL= 'http://localhost:5000' -json_path_list = [] - -def post_lab_spec(file_path): - - with open(file_path) as json_file: - print file_path - data = json.load(json_file) - if 'lab' in data.keys(): - end_point = "/labs" - if 'experiment' in data.keys(): - end_point = "/experiments" - - data['key'] = 'defaultkey' - APP_URL = URL + end_point - headers = {'Content-Type': 'application/json'} - try: - response = requests.post(APP_URL, data = json.dumps(data), - headers=headers) - if response.status_code == 200: - print "Added json data : " + file_path - else: - print "Errore in adding json file " + file_path + " due to " + response.text - except Exception as e: - print str(e) -try: - exp_file_list = glob.glob(os.getcwd() + "/e9*.json") - lab_file_list = glob.glob(os.getcwd() + "/[!e9]*.json") - - for filename in exp_file_list: - json_path_list.append(filename) -except Exception as e: - print str(e) - -for file_path in json_path_list: - post_lab_spec(file_path) -post_lab_spec(lab_file_list[0]) diff --git a/specifications/amrita/immunology-virtual-lab-ii/e98764.json b/specifications/amrita/immunology-virtual-lab-ii/e98764.json deleted file mode 100644 index 041ffc5..0000000 --- a/specifications/amrita/immunology-virtual-lab-ii/e98764.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "experiment": { - "id": "e98764", - "name": "Fragmentation of IgG Using Papain", - "discipline_id": "biotech", - "institute_id": "amrita", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlab.amrita.edu/?sub=3&brch=70&sim=1349&cnt=1" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Fragmentation of IgG Using Papain", - "assets": [], - "sections" : [ - "Theory", - "Procedure", - "Self Evaluation", - "Animation", - "Assignment", - "Reference", - "Feedback" - ] - } -} diff --git a/specifications/amrita/immunology-virtual-lab-ii/e98765.json b/specifications/amrita/immunology-virtual-lab-ii/e98765.json deleted file mode 100644 index c6c8614..0000000 --- a/specifications/amrita/immunology-virtual-lab-ii/e98765.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "experiment": { - "id": "e98765", - "name": "Fluorescent Labeling of Antibodies", - "discipline_id": "biotech", - "institute_id": "amrita", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlab.amrita.edu/?sub=3&brch=70&sim=1060&cnt=1" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Fluorescent Labeling of Antibodies", - "assets": [], - "sections" : [ - "Theory", - "Procedure", - "Self Evaluation", - "Animation", - "Assignment", - "Reference", - "Feedback" - ] - } -} diff --git a/specifications/amrita/immunology-virtual-lab-ii/e98766.json b/specifications/amrita/immunology-virtual-lab-ii/e98766.json deleted file mode 100644 index aa1eb92..0000000 --- a/specifications/amrita/immunology-virtual-lab-ii/e98766.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "experiment": { - "id": "e98766", - "name": "Purification of IgG Antibodies using Affinity Chromatography", - "discipline_id": "biotech", - "institute_id": "amrita", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlab.amrita.edu/?sub=3&brch=70&sim=1099&cnt=1" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Purification of IgG Antibodies using Affinity Chromatography", - "assets": [], - "sections" : [ - "Theory", - "Procedure", - "Self Evaluation", - "Animation", - "Assignment", - "Reference", - "Feedback" - ] - } -} diff --git a/specifications/amrita/immunology-virtual-lab-ii/e98767.json b/specifications/amrita/immunology-virtual-lab-ii/e98767.json deleted file mode 100644 index a26f0ec..0000000 --- a/specifications/amrita/immunology-virtual-lab-ii/e98767.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "experiment": { - "id": "e98767", - "name": "Parenteral Injections", - "discipline_id": "biotech", - "institute_id": "amrita", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlab.amrita.edu/?sub=3&brch=70&sim=203&cnt=1" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Parenteral Injections", - "assets": [], - "sections" : [ - "Theory", - "Procedure", - "Self Evaluation", - "Animation", - "Assignment", - "Reference", - "Feedback" - ] - } -} diff --git a/specifications/amrita/immunology-virtual-lab-ii/e98768.json b/specifications/amrita/immunology-virtual-lab-ii/e98768.json deleted file mode 100644 index e226cbd..0000000 --- a/specifications/amrita/immunology-virtual-lab-ii/e98768.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "experiment": { - "id": "e98768", - "name": "Mouse Anesthesia and Blood Collection", - "discipline_id": "biotech", - "institute_id": "amrita", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlab.amrita.edu/?sub=3&brch=70&sim=198&cnt=1" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Mouse Anesthesia and Blood Collection", - "assets": [], - "sections" : [ - "Theory", - "Procedure", - "Self Evaluation", - "Animation", - "Assignment", - "Reference", - "Feedback" - ] - } -} diff --git a/specifications/amrita/immunology-virtual-lab-ii/e98769.json b/specifications/amrita/immunology-virtual-lab-ii/e98769.json deleted file mode 100644 index b6090bc..0000000 --- a/specifications/amrita/immunology-virtual-lab-ii/e98769.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "experiment": { - "id": "e98769", - "name": "Removal of Thymus and Spleen from Mice", - "discipline_id": "biotech", - "institute_id": "amrita", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlab.amrita.edu/?sub=3&brch=70&sim=200&cnt=1" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Removal of Thymus and Spleen from Mice", - "assets": [], - "sections" : [ - "Theory", - "Procedure", - "Self Evaluation", - "Animation", - "Assignment", - "Reference", - "Feedback" - ] - } -} diff --git a/specifications/amrita/immunology-virtual-lab-ii/e98770.json b/specifications/amrita/immunology-virtual-lab-ii/e98770.json deleted file mode 100644 index 7b3c341..0000000 --- a/specifications/amrita/immunology-virtual-lab-ii/e98770.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "experiment": { - "id": "e98770", - "name": "Purification of IgG Antibodies with Ammonium Sulphate", - "discipline_id": "biotech", - "institute_id": "amrita", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlab.amrita.edu/?sub=3&brch=70&sim=722&cnt=1" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Purification of IgG Antibodies with Ammonium Sulphate", - "assets": [], - "sections" : [ - "Theory", - "Procedure", - "Self Evaluation", - "Animation", - "Assignment", - "Reference", - "Feedback" - ] - } -} diff --git a/specifications/amrita/immunology-virtual-lab-ii/e98771.json b/specifications/amrita/immunology-virtual-lab-ii/e98771.json deleted file mode 100644 index 947430d..0000000 --- a/specifications/amrita/immunology-virtual-lab-ii/e98771.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "experiment": { - "id": "e98771", - "name": "Ouchterlony Double Diffusion - Patterns", - "discipline_id": "biotech", - "institute_id": "amrita", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlab.amrita.edu/?sub=3&brch=70&sim=689&cnt=1" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Ouchterlony Double Diffusion - Patterns", - "assets": [], - "sections" : [ - "Theory", - "Procedure", - "Self Evaluation", - "Animation", - "Assignment", - "Reference", - "Feedback" - ] - } -} diff --git a/specifications/amrita/immunology-virtual-lab-ii/e98772.json b/specifications/amrita/immunology-virtual-lab-ii/e98772.json deleted file mode 100644 index 3425042..0000000 --- a/specifications/amrita/immunology-virtual-lab-ii/e98772.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "experiment": { - "id": "e98772", - "name": "Ouchterlony Double Diffusion -Titration", - "discipline_id": "biotech", - "institute_id": "amrita", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlab.amrita.edu/?sub=3&brch=70&sim=638&cnt=1" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Ouchterlony Double Diffusion -Titration", - "assets": [], - "sections" : [ - "Theory", - "Procedure", - "Self Evaluation", - "Animation", - "Assignment", - "Reference", - "Feedback" - ] - } -} diff --git a/specifications/amrita/immunology-virtual-lab-ii/immunology-virtual-lab-ii.json b/specifications/amrita/immunology-virtual-lab-ii/immunology-virtual-lab-ii.json deleted file mode 100644 index c73302c..0000000 --- a/specifications/amrita/immunology-virtual-lab-ii/immunology-virtual-lab-ii.json +++ /dev/null @@ -1,38 +0,0 @@ -{ - "lab": { - "id": "biotech15", - "name": "immunology virtual lab ii", - "discipline_id": "biotech", - "institute_id": "amrita", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlab.amrita.edu/?sub=3&brch=70" - } - ], - "integration_level": 4, - "overview": "This lab deals with immunology virtual lab ii", - "assets": [], - "sections": [ - { - "name": "Introduction" - }, - { - "experiments" : [ - "e98772", - "e98771", - "e98770", - "e98769", - "e98768", - "e98767", - "e98766", - "e98765", - "e98764", - "e98763" - ] - } - ] - } -} diff --git a/specifications/amrita/laser-optics-virtual-lab/dump_json_to_lds.py b/specifications/amrita/laser-optics-virtual-lab/dump_json_to_lds.py deleted file mode 100644 index 78c74fa..0000000 --- a/specifications/amrita/laser-optics-virtual-lab/dump_json_to_lds.py +++ /dev/null @@ -1,44 +0,0 @@ - -import os -import os.path -import json -import requests -import glob - -URL= 'http://localhost:5000' -json_path_list = [] - -def post_lab_spec(file_path): - - with open(file_path) as json_file: - print file_path - data = json.load(json_file) - if 'lab' in data.keys(): - end_point = "/labs" - if 'experiment' in data.keys(): - end_point = "/experiments" - - data['key'] = 'defaultkey' - APP_URL = URL + end_point - headers = {'Content-Type': 'application/json'} - try: - response = requests.post(APP_URL, data = json.dumps(data), - headers=headers) - if response.status_code == 200: - print "Added json data : " + file_path - else: - print "Errore in adding json file " + file_path + " due to " + response.text - except Exception as e: - print str(e) -try: - exp_file_list = glob.glob(os.getcwd() + "/e9*.json") - lab_file_list = glob.glob(os.getcwd() + "/[!e9]*.json") - - for filename in exp_file_list: - json_path_list.append(filename) -except Exception as e: - print str(e) - -for file_path in json_path_list: - post_lab_spec(file_path) -post_lab_spec(lab_file_list[0]) diff --git a/specifications/amrita/laser-optics-virtual-lab/e99185.json b/specifications/amrita/laser-optics-virtual-lab/e99185.json deleted file mode 100644 index 212b93e..0000000 --- a/specifications/amrita/laser-optics-virtual-lab/e99185.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "experiment": { - "id": "e99185", - "name": "Numerical Aperture of Optical Fiber", - "discipline_id": "phy-sc", - "institute_id": "amrita", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlab.amrita.edu/?sub=1&brch=189&sim=343&cnt=1" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Numerical Aperture of Optical Fiber", - "assets": [], - "sections" : [ - "Theory", - "Procedure", - "Self Evaluation", - "Simulator", - "Assignment", - "Reference", - "Feedback" - ] - } -} diff --git a/specifications/amrita/laser-optics-virtual-lab/e99186.json b/specifications/amrita/laser-optics-virtual-lab/e99186.json deleted file mode 100644 index 9687b7e..0000000 --- a/specifications/amrita/laser-optics-virtual-lab/e99186.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "experiment": { - "id": "e99186", - "name": "Brewsters Angle determination", - "discipline_id": "phy-sc", - "institute_id": "amrita", - "developers": [ - { - "name": "Amrita CREATE", - "email": "VLandroid@am.amrita.edu" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlab.amrita.edu/?sub=1&brch=189&sim=333&cnt=1" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Brewsters Angle determination", - "assets": [], - "sections" : [ - "Theory", - "Procedure", - "Self Evaluation", - "Simulator", - "Assignment", - "Reference", - "Feedback" - ] - } -} diff --git a/specifications/amrita/laser-optics-virtual-lab/e99187.json b/specifications/amrita/laser-optics-virtual-lab/e99187.json deleted file mode 100644 index da931a7..0000000 --- a/specifications/amrita/laser-optics-virtual-lab/e99187.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "experiment": { - "id": "e99187", - "name": "Newton's Rings-Wavelength of light", - "discipline_id": "phy-sc", - "institute_id": "amrita", - "developers": [ - { - "name": "Amrita CREATE", - "email": "VLandroid@am.amrita.edu" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlab.amrita.edu/?sub=1&brch=189&sim=335&cnt=1" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Newton's Rings-Wavelength of light", - "assets": [], - "sections" : [ - "Theory", - "Procedure", - "Self Evaluation", - "Simulator", - "Assignment", - "Reference", - "Feedback" - ] - } -} diff --git a/specifications/amrita/laser-optics-virtual-lab/e99188.json b/specifications/amrita/laser-optics-virtual-lab/e99188.json deleted file mode 100644 index bf8ee07..0000000 --- a/specifications/amrita/laser-optics-virtual-lab/e99188.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "experiment": { - "id": "e99188", - "name": "Laser beam divergence and spot size", - "discipline_id": "phy-sc", - "institute_id": "amrita", - "developers": [ - { - "name": "Amrita CREATE", - "email": "VLandroid@am.amrita.edu" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlab.amrita.edu/?sub=1&brch=189&sim=342&cnt=1" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Laser beam divergence and spot size", - "assets": [], - "sections" : [ - "Theory", - "Procedure", - "Self Evaluation", - "Simulator", - "Assignment", - "Reference", - "Feedback" - ] - } -} diff --git a/specifications/amrita/laser-optics-virtual-lab/e99189.json b/specifications/amrita/laser-optics-virtual-lab/e99189.json deleted file mode 100644 index d494bd5..0000000 --- a/specifications/amrita/laser-optics-virtual-lab/e99189.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "experiment": { - "id": "e99189", - "name": "Michelson's Interferometer- Wavelength of laser beam ", - "discipline_id": "phy-sc", - "institute_id": "amrita", - "developers": [ - { - "name": "Amrita CREATE", - "email": "VLandroid@am.amrita.edu" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlab.amrita.edu/?sub=1&brch=189&sim=1106&cnt=1" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Michelson's Interferometer- Wavelength of laser beam ", - "assets": [], - "sections" : [ - "Theory", - "Procedure", - "Self Evaluation", - "Simulator", - "Assignment", - "Reference", - "Feedback" - ] - } -} diff --git a/specifications/amrita/laser-optics-virtual-lab/e99190.json b/specifications/amrita/laser-optics-virtual-lab/e99190.json deleted file mode 100644 index 50a22d4..0000000 --- a/specifications/amrita/laser-optics-virtual-lab/e99190.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "experiment": { - "id": "e99190", - "name": "Newton's Rings-Refractive index of liquid", - "discipline_id": "phy-sc", - "institute_id": "amrita", - "developers": [ - { - "name": "Amrita CREATE", - "email": "VLandroid@am.amrita.edu" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlab.amrita.edu/?sub=1&brch=189&sim=1520&cnt=1" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Newton's Rings-Refractive index of liquid", - "assets": [], - "sections" : [ - "Theory", - "Procedure", - "Self Evaluation", - "Simulator", - "Assignment", - "Reference", - "Feedback" - ] - } -} diff --git a/specifications/amrita/laser-optics-virtual-lab/e99191.json b/specifications/amrita/laser-optics-virtual-lab/e99191.json deleted file mode 100644 index 301085e..0000000 --- a/specifications/amrita/laser-optics-virtual-lab/e99191.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "experiment": { - "id": "e99191", - "name": "Michelson's Interferometer- Refractive index of glass plate ", - "discipline_id": "phy-sc", - "institute_id": "amrita", - "developers": [ - { - "name": "Amrita CREATE", - "email": "VLandroid@am.amrita.edu" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlab.amrita.edu/?sub=1&brch=189&sim=1519&cnt=1" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Michelson's Interferometer- Refractive index of glass plate ", - "assets": [], - "sections" : [ - "Theory", - "Procedure", - "Self Evaluation", - "Simulator", - "Assignment", - "Reference", - "Feedback" - ] - } -} diff --git a/specifications/amrita/laser-optics-virtual-lab/laser-optics-virtual-lab.json b/specifications/amrita/laser-optics-virtual-lab/laser-optics-virtual-lab.json deleted file mode 100644 index 58adb02..0000000 --- a/specifications/amrita/laser-optics-virtual-lab/laser-optics-virtual-lab.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "lab": { - "id": "phy-sc24", - "name": "laser optics virtual lab", - "discipline_id": "phy-sc", - "institute_id": "amrita", - "developers": [ - { - "name": "Amrita CREATE", - "email": "VLandroid@am.amrita.edu" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlab.amrita.edu/?sub=1&brch=189" - } - ], - "integration_level": 4, - "overview": "This lab deals with laser optics virtual lab", - "assets": [], - "sections": [ - { - "name": "Introduction" - }, - { - "experiments" : [ - "e99191", - "e99190", - "e99189", - "e99188", - "e99187", - "e99186", - "e99185" - ] - } - ] - } -} diff --git a/specifications/amrita/mechanics-virtual-lab-(pilot)/dump_json_to_lds.py b/specifications/amrita/mechanics-virtual-lab-(pilot)/dump_json_to_lds.py deleted file mode 100644 index 78c74fa..0000000 --- a/specifications/amrita/mechanics-virtual-lab-(pilot)/dump_json_to_lds.py +++ /dev/null @@ -1,44 +0,0 @@ - -import os -import os.path -import json -import requests -import glob - -URL= 'http://localhost:5000' -json_path_list = [] - -def post_lab_spec(file_path): - - with open(file_path) as json_file: - print file_path - data = json.load(json_file) - if 'lab' in data.keys(): - end_point = "/labs" - if 'experiment' in data.keys(): - end_point = "/experiments" - - data['key'] = 'defaultkey' - APP_URL = URL + end_point - headers = {'Content-Type': 'application/json'} - try: - response = requests.post(APP_URL, data = json.dumps(data), - headers=headers) - if response.status_code == 200: - print "Added json data : " + file_path - else: - print "Errore in adding json file " + file_path + " due to " + response.text - except Exception as e: - print str(e) -try: - exp_file_list = glob.glob(os.getcwd() + "/e9*.json") - lab_file_list = glob.glob(os.getcwd() + "/[!e9]*.json") - - for filename in exp_file_list: - json_path_list.append(filename) -except Exception as e: - print str(e) - -for file_path in json_path_list: - post_lab_spec(file_path) -post_lab_spec(lab_file_list[0]) diff --git a/specifications/amrita/mechanics-virtual-lab-(pilot)/e99208.json b/specifications/amrita/mechanics-virtual-lab-(pilot)/e99208.json deleted file mode 100644 index cce269a..0000000 --- a/specifications/amrita/mechanics-virtual-lab-(pilot)/e99208.json +++ /dev/null @@ -1,38 +0,0 @@ -{ - "experiment": { - "id": "e99208", - "name": "Collision balls", - "discipline_id": "phy-sc", - "institute_id": "amrita", - "developers": [ - { - "name": "Amrita CREATE", - "email": "VLandroid@am.amrita.edu" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "cloud", - "hosted_url": "http://vlab.amrita.edu/?sub=1&brch=74&sim=197&cnt=1" - }, - { - "hosting_status": "hosted", - "hosted_on": "openedx", - "hosted_url": "http://vlab.amrita.edu/?sub=1&brch=74&sim=197&cnt=1" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Collision balls", - "assets": [], - "sections" : [ - "Theory", - "Procedure", - "Self Evaluation", - "Simulator", - "Assignment", - "Reference", - "Feedback" - ] - } -} diff --git a/specifications/amrita/mechanics-virtual-lab-(pilot)/e99209.json b/specifications/amrita/mechanics-virtual-lab-(pilot)/e99209.json deleted file mode 100644 index c15582d..0000000 --- a/specifications/amrita/mechanics-virtual-lab-(pilot)/e99209.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "experiment": { - "id": "e99209", - "name": "Torsional oscillations in different liquids", - "discipline_id": "phy-sc", - "institute_id": "amrita", - "developers": [ - { - "name": "Amrita CREATE", - "email": "VLandroid@am.amrita.edu" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "cloud", - "hosted_url": "http://vlab.amrita.edu/?sub=1&brch=74&sim=1523&cnt=1" - }, - { - "hosting_status": "hosted", - "hosted_on": "openedx", - "hosted_url": "http://vlab.amrita.edu/?sub=1&brch=74&sim=1523&cnt=1" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Torsional oscillations in different liquids", - "assets": [], - "sections" : [ - "Theory", - "Simulator", - "Reference", - "Feedback" - ] - } -} diff --git a/specifications/amrita/mechanics-virtual-lab-(pilot)/e99210.json b/specifications/amrita/mechanics-virtual-lab-(pilot)/e99210.json deleted file mode 100644 index 1fd83f8..0000000 --- a/specifications/amrita/mechanics-virtual-lab-(pilot)/e99210.json +++ /dev/null @@ -1,38 +0,0 @@ -{ - "experiment": { - "id": "e99210", - "name": "Torque and angular acceleration of a fly wheel", - "discipline_id": "phy-sc", - "institute_id": "amrita", - "developers": [ - { - "name": "Amrita CREATE", - "email": "VLandroid@am.amrita.edu" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "cloud", - "hosted_url": "http://vlab.amrita.edu/?sub=1&brch=74&sim=1517&cnt=1" - }, - { - "hosting_status": "hosted", - "hosted_on": "openedx", - "hosted_url": "http://vlab.amrita.edu/?sub=1&brch=74&sim=1517&cnt=1" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Torque and angular acceleration of a fly wheel", - "assets": [], - "sections" : [ - "Theory", - "Procedure", - "Self Evaluation", - "Simulator", - "Assignment", - "Reference", - "Feedback" - ] - } -} diff --git a/specifications/amrita/mechanics-virtual-lab-(pilot)/e99272.json b/specifications/amrita/mechanics-virtual-lab-(pilot)/e99272.json deleted file mode 100644 index 4e8b21a..0000000 --- a/specifications/amrita/mechanics-virtual-lab-(pilot)/e99272.json +++ /dev/null @@ -1,38 +0,0 @@ -{ - "experiment": { - "id": "e99272", - "name": "Projectile Motion", - "discipline_id": "phy-sc", - "institute_id": "amrita", - "developers": [ - { - "name": "Amrita CREATE", - "email": "VLandroid@am.amrita.edu" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "cloud", - "hosted_url": "http://vlab.amrita.edu/?sub=1&brch=74&sim=191&cnt=1" - }, - { - "hosting_status": "hosted", - "hosted_on": "openedx", - "hosted_url": "http://vlab.amrita.edu/?sub=1&brch=74&sim=191&cnt=1" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Projectile Motion", - "assets": [], - "sections" : [ - "Theory", - "Procedure", - "Self Evaluation", - "Simulator", - "Assignment", - "Reference", - "Feedback" - ] - } -} diff --git a/specifications/amrita/mechanics-virtual-lab-(pilot)/e99273.json b/specifications/amrita/mechanics-virtual-lab-(pilot)/e99273.json deleted file mode 100644 index b264494..0000000 --- a/specifications/amrita/mechanics-virtual-lab-(pilot)/e99273.json +++ /dev/null @@ -1,38 +0,0 @@ -{ - "experiment": { - "id": "e99273", - "name": "Newton's Second Law of Motion", - "discipline_id": "phy-sc", - "institute_id": "amrita", - "developers": [ - { - "name": "Amrita CREATE", - "email": "VLandroid@am.amrita.edu" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "cloud", - "hosted_url": "http://vlab.amrita.edu/?sub=1&brch=74&sim=207&cnt=1" - }, - { - "hosting_status": "hosted", - "hosted_on": "openedx", - "hosted_url": "http://vlab.amrita.edu/?sub=1&brch=74&sim=207&cnt=1" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Newton's Second Law of Motion", - "assets": [], - "sections" : [ - "Theory", - "Procedure", - "Self Evaluation", - "Simulator", - "Assignment", - "Reference", - "Feedback" - ] - } -} diff --git a/specifications/amrita/mechanics-virtual-lab-(pilot)/e99274.json b/specifications/amrita/mechanics-virtual-lab-(pilot)/e99274.json deleted file mode 100644 index 0e55de4..0000000 --- a/specifications/amrita/mechanics-virtual-lab-(pilot)/e99274.json +++ /dev/null @@ -1,38 +0,0 @@ -{ - "experiment": { - "id": "e99274", - "name": "Moment of Inertia of Flywheel", - "discipline_id": "phy-sc", - "institute_id": "amrita", - "developers": [ - { - "name": "Amrita CREATE", - "email": "VLandroid@am.amrita.edu" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "cloud", - "hosted_url": "http://vlab.amrita.edu/?sub=1&brch=74&sim=571&cnt=1" - }, - { - "hosting_status": "hosted", - "hosted_on": "openedx", - "hosted_url": "http://vlab.amrita.edu/?sub=1&brch=74&sim=571&cnt=1" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Moment of Inertia of Flywheel", - "assets": [], - "sections" : [ - "Theory", - "Procedure", - "Self Evaluation", - "Simulator", - "Assignment", - "Reference", - "Feedback" - ] - } -} diff --git a/specifications/amrita/mechanics-virtual-lab-(pilot)/e99275.json b/specifications/amrita/mechanics-virtual-lab-(pilot)/e99275.json deleted file mode 100644 index e65ab62..0000000 --- a/specifications/amrita/mechanics-virtual-lab-(pilot)/e99275.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "experiment": { - "id": "e99275", - "name": "Elastic and Inelastic Collision", - "discipline_id": "phy-sc", - "institute_id": "amrita", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "cloud", - "hosted_url": "http://vlab.amrita.edu/?sub=1&brch=74&sim=189&cnt=1" - }, - { - "hosting_status": "hosted", - "hosted_on": "openedx", - "hosted_url": "http://vlab.amrita.edu/?sub=1&brch=74&sim=189&cnt=1" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Elastic and Inelastic Collision", - "assets": [], - "sections" : [ - "Theory", - "Procedure", - "Self Evaluation", - "Simulator", - "Assignment", - "Reference", - "Feedback" - ] - } -} diff --git a/specifications/amrita/mechanics-virtual-lab-(pilot)/e99277.json b/specifications/amrita/mechanics-virtual-lab-(pilot)/e99277.json deleted file mode 100644 index 9debdc1..0000000 --- a/specifications/amrita/mechanics-virtual-lab-(pilot)/e99277.json +++ /dev/null @@ -1,38 +0,0 @@ -{ - "experiment": { - "id": "e99277", - "name": "Ballistic Pendulum", - "discipline_id": "phy-sc", - "institute_id": "amrita", - "developers": [ - { - "name": "Amrita CREATE", - "email": "VLandroid@am.amrita.edu" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "cloud", - "hosted_url": "http://vlab.amrita.edu/?sub=1&brch=74&sim=202&cnt=1" - }, - { - "hosting_status": "hosted", - "hosted_on": "openedx", - "hosted_url": "http://vlab.amrita.edu/?sub=1&brch=74&sim=202&cnt=1" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Ballistic Pendulum", - "assets": [], - "sections" : [ - "Theory", - "Procedure", - "Self Evaluation", - "Simulator", - "Assignment", - "Reference", - "Feedback" - ] - } -} diff --git a/specifications/amrita/mechanics-virtual-lab-(pilot)/mechanics-virtual-lab-(pilot).json b/specifications/amrita/mechanics-virtual-lab-(pilot)/mechanics-virtual-lab-(pilot).json deleted file mode 100644 index 5384cdf..0000000 --- a/specifications/amrita/mechanics-virtual-lab-(pilot)/mechanics-virtual-lab-(pilot).json +++ /dev/null @@ -1,46 +0,0 @@ -{ - "lab": { - "id": "phy-sc22", - "name": "mechanics virtual lab (pilot)", - "discipline_id": "phy-sc", - "institute_id": "amrita", - "developers": [ - { - "name": "Amrita CREATE", - "email": "VLandroid@am.amrita.edu" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "cloud", - "hosted_url": "http://vlab.amrita.edu/?sub=1&brch=74" - }, - { - "hosting_status": "hosted", - "hosted_on": "openedx", - "hosted_url": "http://vlab.amrita.edu/?sub=1&brch=74" - } - ], - "integration_level": 4, - "overview": "This lab deals with mechanics virtual lab (pilot)", - "assets": [], - "sections": [ - { - "name": "Introduction" - }, - { - "experiments" : [ - "e99210", - "e99209", - "e99274", - "e99273", - "e99277", - "e99208", - "e99272", - "e99275" - ] - } - ] - } -} diff --git a/specifications/amrita/microbiology-virtual-lab-i/dump_json_to_lds.py b/specifications/amrita/microbiology-virtual-lab-i/dump_json_to_lds.py deleted file mode 100644 index 78c74fa..0000000 --- a/specifications/amrita/microbiology-virtual-lab-i/dump_json_to_lds.py +++ /dev/null @@ -1,44 +0,0 @@ - -import os -import os.path -import json -import requests -import glob - -URL= 'http://localhost:5000' -json_path_list = [] - -def post_lab_spec(file_path): - - with open(file_path) as json_file: - print file_path - data = json.load(json_file) - if 'lab' in data.keys(): - end_point = "/labs" - if 'experiment' in data.keys(): - end_point = "/experiments" - - data['key'] = 'defaultkey' - APP_URL = URL + end_point - headers = {'Content-Type': 'application/json'} - try: - response = requests.post(APP_URL, data = json.dumps(data), - headers=headers) - if response.status_code == 200: - print "Added json data : " + file_path - else: - print "Errore in adding json file " + file_path + " due to " + response.text - except Exception as e: - print str(e) -try: - exp_file_list = glob.glob(os.getcwd() + "/e9*.json") - lab_file_list = glob.glob(os.getcwd() + "/[!e9]*.json") - - for filename in exp_file_list: - json_path_list.append(filename) -except Exception as e: - print str(e) - -for file_path in json_path_list: - post_lab_spec(file_path) -post_lab_spec(lab_file_list[0]) diff --git a/specifications/amrita/microbiology-virtual-lab-i/e99220.json b/specifications/amrita/microbiology-virtual-lab-i/e99220.json deleted file mode 100644 index f2ddfd9..0000000 --- a/specifications/amrita/microbiology-virtual-lab-i/e99220.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "experiment": { - "id": "e99220", - "name": "Methylene Blue Reductase Test", - "discipline_id": "biotech", - "institute_id": "amrita", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "cloud", - "hosted_url": "http://vlab.amrita.edu/?sub=3&brch=73&sim=1630&cnt=1" - } - { - "hosting_status": "hosted", - "hosted_on": "openedx", - "hosted_url": "http://vlab.amrita.edu/?sub=3&brch=73&sim=1630&cnt=1" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Methylene Blue Reductase Test", - "assets": [], - "sections" : [ - "Theory", - "Procedure", - "Self Evaluation", - "Animation", - "Assignment", - "Reference", - "Feedback" - ] - } -} diff --git a/specifications/amrita/microbiology-virtual-lab-i/e99221.json b/specifications/amrita/microbiology-virtual-lab-i/e99221.json deleted file mode 100644 index 9867395..0000000 --- a/specifications/amrita/microbiology-virtual-lab-i/e99221.json +++ /dev/null @@ -1,38 +0,0 @@ -{ - "experiment": { - "id": "e99221", - "name": "Antibiotic Susceptibility Testing", - "discipline_id": "biotech", - "institute_id": "amrita", - "developers": [ - { - "name": "Amrita CREATE", - "email": "VLandroid@am.amrita.edu" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "cloud", - "hosted_url": "http://vlab.amrita.edu/?sub=3&brch=73&sim=1628&cnt=1" - } - { - "hosting_status": "hosted", - "hosted_on": "openedx", - "hosted_url": "http://vlab.amrita.edu/?sub=3&brch=73&sim=1628&cnt=1" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Antibiotic Susceptibility Testing", - "assets": [], - "sections" : [ - "Theory", - "Procedure", - "Self Evaluation", - "Animation", - "Assignment", - "Reference", - "Feedback" - ] - } -} diff --git a/specifications/amrita/microbiology-virtual-lab-i/e99222.json b/specifications/amrita/microbiology-virtual-lab-i/e99222.json deleted file mode 100644 index 0dd0760..0000000 --- a/specifications/amrita/microbiology-virtual-lab-i/e99222.json +++ /dev/null @@ -1,38 +0,0 @@ -{ - "experiment": { - "id": "e99222", - "name": "Differential and Cytological Staining Techniques", - "discipline_id": "biotech", - "institute_id": "amrita", - "developers": [ - { - "name": "Amrita CREATE", - "email": "VLandroid@am.amrita.edu" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "cloud", - "hosted_url": "http://vlab.amrita.edu/?sub=3&brch=73&sim=1338&cnt=1" - } - { - "hosting_status": "hosted", - "hosted_on": "openedx", - "hosted_url": "http://vlab.amrita.edu/?sub=3&brch=73&sim=1338&cnt=1" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Differential and Cytological Staining Techniques", - "assets": [], - "sections" : [ - "Theory", - "Procedure", - "Self Evaluation", - "Animation", - "Assignment", - "Reference", - "Feedback" - ] - } -} diff --git a/specifications/amrita/microbiology-virtual-lab-i/e99223.json b/specifications/amrita/microbiology-virtual-lab-i/e99223.json deleted file mode 100644 index 359760e..0000000 --- a/specifications/amrita/microbiology-virtual-lab-i/e99223.json +++ /dev/null @@ -1,39 +0,0 @@ -{ - "experiment": { - "id": "e99223", - "name": "Carbohydrate Fermentation Test", - "discipline_id": "biotech", - "institute_id": "amrita", - "developers": [ - { - "name": "Amrita CREATE", - "email": "VLandroid@am.amrita.edu" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "cloud", - "hosted_url": "http://vlab.amrita.edu/?sub=3&brch=73&sim=1139&cnt=1" - } - { - "hosting_status": "hosted", - "hosted_on": "openedx", - "hosted_url": "http://vlab.amrita.edu/?sub=3&brch=73&sim=1139&cnt=1" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Carbohydrate Fermentation Test", - "assets": [], - "sections" : [ - "Theory", - "Procedure", - "Self Evaluation", - "Animation", - "Simulation", - "Assignment", - "Reference", - "Feedback" - ] - } -} diff --git a/specifications/amrita/microbiology-virtual-lab-i/e99224.json b/specifications/amrita/microbiology-virtual-lab-i/e99224.json deleted file mode 100644 index 8438bf2..0000000 --- a/specifications/amrita/microbiology-virtual-lab-i/e99224.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "experiment": { - "id": "e99224", - "name": "Bacterial Growth Curve", - "discipline_id": "biotech", - "institute_id": "amrita", - "developers": [ - { - "name": "Amrita CREATE", - "email": "VLandroid@am.amrita.edu" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "cloud", - "hosted_url": "http://vlab.amrita.edu/?sub=3&brch=73&sim=1105&cnt=1" - } - { - "hosting_status": "hosted", - "hosted_on": "openedx", - "hosted_url": "http://vlab.amrita.edu/?sub=3&brch=73&sim=1105&cnt=1" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Bacterial Growth Curve", - "assets": [], - "sections" : [ - "Theory", - "Procedure", - "Self Evaluation", - "Animation", - "Simulation", - "Assignment", - "Reference", - "Feedback", - "NPTEL Video" - ] - } -} diff --git a/specifications/amrita/microbiology-virtual-lab-i/e99225.json b/specifications/amrita/microbiology-virtual-lab-i/e99225.json deleted file mode 100644 index 1defc90..0000000 --- a/specifications/amrita/microbiology-virtual-lab-i/e99225.json +++ /dev/null @@ -1,38 +0,0 @@ -{ - "experiment": { - "id": "e99225", - "name": "Lecithinase Test", - "discipline_id": "biotech", - "institute_id": "amrita", - "developers": [ - { - "name": "Amrita CREATE", - "email": "VLandroid@am.amrita.edu" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "cloud", - "hosted_url": "http://vlab.amrita.edu/?sub=3&brch=73&sim=974&cnt=1" - } - { - "hosting_status": "hosted", - "hosted_on": "openedx", - "hosted_url": "http://vlab.amrita.edu/?sub=3&brch=73&sim=974&cnt=1" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Lecithinase Test", - "assets": [], - "sections" : [ - "Theory", - "Procedure", - "Self Evaluation", - "Animation", - "Assignment", - "Reference", - "Feedback" - ] - } -} diff --git a/specifications/amrita/microbiology-virtual-lab-i/e99226.json b/specifications/amrita/microbiology-virtual-lab-i/e99226.json deleted file mode 100644 index c5e2b5c..0000000 --- a/specifications/amrita/microbiology-virtual-lab-i/e99226.json +++ /dev/null @@ -1,39 +0,0 @@ -{ - "experiment": { - "id": "e99226", - "name": "Selective and Differential Media for Identifying Microorganisms", - "discipline_id": "biotech", - "institute_id": "amrita", - "developers": [ - { - "name": "Amrita CREATE", - "email": "VLandroid@am.amrita.edu" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "cloud", - "hosted_url": "http://vlab.amrita.edu/?sub=3&brch=73&sim=720&cnt=1" - } - { - "hosting_status": "hosted", - "hosted_on": "openedx", - "hosted_url": "http://vlab.amrita.edu/?sub=3&brch=73&sim=720&cnt=1" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Selective and Differential Media for Identifying Microorganisms", - "assets": [], - "sections" : [ - "Theory", - "Procedure", - "Self Evaluation", - "Animation", - "Simulator", - "Assignment", - "Reference", - "Feedback" - ] - } -} diff --git a/specifications/amrita/microbiology-virtual-lab-i/e99227.json b/specifications/amrita/microbiology-virtual-lab-i/e99227.json deleted file mode 100644 index fbdffba..0000000 --- a/specifications/amrita/microbiology-virtual-lab-i/e99227.json +++ /dev/null @@ -1,38 +0,0 @@ -{ - "experiment": { - "id": "e99227", - "name": "Catalase and Coagulase Test", - "discipline_id": "biotech", - "institute_id": "amrita", - "developers": [ - { - "name": "Amrita CREATE", - "email": "VLandroid@am.amrita.edu" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "cloud", - "hosted_url": "http://vlab.amrita.edu/?sub=3&brch=73&sim=703&cnt=1" - } - { - "hosting_status": "hosted", - "hosted_on": "openedx", - "hosted_url": "http://vlab.amrita.edu/?sub=3&brch=73&sim=703&cnt=1" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Catalase and Coagulase Test", - "assets": [], - "sections" : [ - "Theory", - "Procedure", - "Self Evaluation", - "Animation", - "Assignment", - "Reference", - "Feedback" - ] - } -} diff --git a/specifications/amrita/microbiology-virtual-lab-i/e99228.json b/specifications/amrita/microbiology-virtual-lab-i/e99228.json deleted file mode 100644 index 78216f0..0000000 --- a/specifications/amrita/microbiology-virtual-lab-i/e99228.json +++ /dev/null @@ -1,38 +0,0 @@ -{ - "experiment": { - "id": "e99228", - "name": "Motility Test", - "discipline_id": "biotech", - "institute_id": "amrita", - "developers": [ - { - "name": "Amrita CREATE", - "email": "VLandroid@am.amrita.edu" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "cloud", - "hosted_url": "http://vlab.amrita.edu/?sub=3&brch=73&sim=697&cnt=1" - } - { - "hosting_status": "hosted", - "hosted_on": "openedx", - "hosted_url": "http://vlab.amrita.edu/?sub=3&brch=73&sim=697&cnt=1" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Motility Test", - "assets": [], - "sections" : [ - "Theory", - "Procedure", - "Self Evaluation", - "Animation", - "Assignment", - "Reference", - "Feedback" - ] - } -} diff --git a/specifications/amrita/microbiology-virtual-lab-i/e99229.json b/specifications/amrita/microbiology-virtual-lab-i/e99229.json deleted file mode 100644 index 0bba87c..0000000 --- a/specifications/amrita/microbiology-virtual-lab-i/e99229.json +++ /dev/null @@ -1,38 +0,0 @@ -{ - "experiment": { - "id": "e99229", - "name": "Streak Plate Method", - "discipline_id": "biotech", - "institute_id": "amrita", - "developers": [ - { - "name": "Amrita CREATE", - "email": "VLandroid@am.amrita.edu" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "cloud", - "hosted_url": "http://vlab.amrita.edu/?sub=3&brch=73&sim=213&cnt=1" - } - { - "hosting_status": "hosted", - "hosted_on": "openedx", - "hosted_url": "http://vlab.amrita.edu/?sub=3&brch=73&sim=213&cnt=1" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Streak Plate Method", - "assets": [], - "sections" : [ - "Theory", - "Procedure", - "Self Evaluation", - "Animation", - "Assignment", - "Reference", - "Feedback" - ] - } -} diff --git a/specifications/amrita/microbiology-virtual-lab-i/e99230.json b/specifications/amrita/microbiology-virtual-lab-i/e99230.json deleted file mode 100644 index b7f052b..0000000 --- a/specifications/amrita/microbiology-virtual-lab-i/e99230.json +++ /dev/null @@ -1,38 +0,0 @@ -{ - "experiment": { - "id": "e99230", - "name": "Aseptic Technique and the Transfer of Microorganisms", - "discipline_id": "biotech", - "institute_id": "amrita", - "developers": [ - { - "name": "Amrita CREATE", - "email": "VLandroid@am.amrita.edu" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "cloud", - "hosted_url": "http://vlab.amrita.edu/?sub=3&brch=73&sim=212&cnt=1" - } - { - "hosting_status": "hosted", - "hosted_on": "openedx", - "hosted_url": "http://vlab.amrita.edu/?sub=3&brch=73&sim=212&cnt=1" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Aseptic Technique and the Transfer of Microorganisms", - "assets": [], - "sections" : [ - "Theory", - "Procedure", - "Self Evaluation", - "Animation", - "Assignment", - "Reference", - "Feedback" - ] - } -} diff --git a/specifications/amrita/microbiology-virtual-lab-i/e99231.json b/specifications/amrita/microbiology-virtual-lab-i/e99231.json deleted file mode 100644 index 93530e4..0000000 --- a/specifications/amrita/microbiology-virtual-lab-i/e99231.json +++ /dev/null @@ -1,39 +0,0 @@ -{ - "experiment": { - "id": "e99231", - "name": "Gram Stain Technique", - "discipline_id": "biotech", - "institute_id": "amrita", - "developers": [ - { - "name": "Amrita CREATE", - "email": "VLandroid@am.amrita.edu" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "cloud", - "hosted_url": "http://vlab.amrita.edu/?sub=3&brch=73&sim=208&cnt=1" - } - { - "hosting_status": "hosted", - "hosted_on": "openedx", - "hosted_url": "http://vlab.amrita.edu/?sub=3&brch=73&sim=208&cnt=1" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Gram Stain Technique", - "assets": [], - "sections" : [ - "Theory", - "Procedure", - "Self Evaluation", - "Animation", - "Simulator", - "Assignment", - "Reference", - "Feedback" - ] - } -} diff --git a/specifications/amrita/microbiology-virtual-lab-i/microbiology-virtual-lab-i.json b/specifications/amrita/microbiology-virtual-lab-i/microbiology-virtual-lab-i.json deleted file mode 100644 index 5308eb9..0000000 --- a/specifications/amrita/microbiology-virtual-lab-i/microbiology-virtual-lab-i.json +++ /dev/null @@ -1,50 +0,0 @@ -{ - "lab": { - "id": "biotech14", - "name": "microbiology virtual lab i", - "discipline_id": "biotech", - "institute_id": "amrita", - "developers": [ - { - "name": "Amrita CREATE", - "email": "VLandroid@am.amrita.edu" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "cloud", - "hosted_url": "http://vlab.amrita.edu/?sub=3&brch=73" - }, - { - "hosting_status": "hosted", - "hosted_on": "openedx", - "hosted_url": "http://vlab.amrita.edu/?sub=3&brch=73" - } - ], - "integration_level": 4, - "overview": "This lab deals with microbiology virtual lab i", - "assets": [], - "sections": [ - { - "name": "Introduction" - }, - { - "experiments" : [ - "e99231", - "e99230", - "e99229", - "e99228", - "e99227", - "e99226", - "e99225", - "e99224", - "e99223", - "e99222", - "e99221", - "e99220" - ] - } - ] - } -} diff --git a/specifications/amrita/microbiology-virtual-lab-ii/e99211.json b/specifications/amrita/microbiology-virtual-lab-ii/e99211.json deleted file mode 100644 index 89cc69e..0000000 --- a/specifications/amrita/microbiology-virtual-lab-ii/e99211.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "experiment": { - "id": "e99211", - "name": "16S Ribosomal RNA Sequencing", - "discipline_id": "biotech", - "institute_id": "amrita", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "cloud", - "hosted_url": "http://vlab.amrita.edu/?sub=3&brch=76&sim=1421&cnt=1" - } - { - "hosting_status": "hosted", - "hosted_on": "openedx", - "hosted_url": "http://vlab.amrita.edu/?sub=3&brch=76&sim=1421&cnt=1" - } - ], - "integration_level": 4, - "overview": "This experiments deals with 16S Ribosomal RNA Sequencing", - "assets": [], - "sections" : [ - "Theory", - "Procedure", - "Self Evaluation", - "Animation", - "Assignment", - "Reference", - "Feedback" - ] - } -} diff --git a/specifications/amrita/microbiology-virtual-lab-ii/e99212.json b/specifications/amrita/microbiology-virtual-lab-ii/e99212.json deleted file mode 100644 index 723fa62..0000000 --- a/specifications/amrita/microbiology-virtual-lab-ii/e99212.json +++ /dev/null @@ -1,38 +0,0 @@ -{ - "experiment": { - "id": "e99212", - "name": "Routes of Viral Inoculation in Embryonated Eggs", - "discipline_id": "biotech", - "institute_id": "amrita", - "developers": [ - { - "name": "Amrita CREATE", - "email": "VLandroid@am.amrita.edu" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "cloud", - "hosted_url": "http://vlab.amrita.edu/?sub=3&brch=76&sim=1223&cnt=1" - } - { - "hosting_status": "hosted", - "hosted_on": "openedx", - "hosted_url": "http://vlab.amrita.edu/?sub=3&brch=76&sim=1223&cnt=1" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Routes of Viral Inoculation in Embryonated Eggs", - "assets": [], - "sections" : [ - "Theory", - "Procedure", - "Self Evaluation", - "Animation", - "Assignment", - "Reference", - "Feedback" - ] - } -} diff --git a/specifications/amrita/microbiology-virtual-lab-ii/e99213.json b/specifications/amrita/microbiology-virtual-lab-ii/e99213.json deleted file mode 100644 index 8feccbb..0000000 --- a/specifications/amrita/microbiology-virtual-lab-ii/e99213.json +++ /dev/null @@ -1,38 +0,0 @@ -{ - "experiment": { - "id": "e99213", - "name": "Isolation and Identification of Auxotrophic and Drug Resistant Mutants", - "discipline_id": "biotech", - "institute_id": "amrita", - "developers": [ - { - "name": "Amrita CREATE", - "email": "VLandroid@am.amrita.edu" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "cloud", - "hosted_url": "http://vlab.amrita.edu/?sub=3&brch=76&sim=1089&cnt=1" - } - { - "hosting_status": "hosted", - "hosted_on": "openedx", - "hosted_url": "http://vlab.amrita.edu/?sub=3&brch=76&sim=1089&cnt=1" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Isolation and Identification of Auxotrophic and Drug Resistant Mutants", - "assets": [], - "sections" : [ - "Theory", - "Procedure", - "Self Evaluation", - "Animation", - "Assignment", - "Reference", - "Feedback" - ] - } -} diff --git a/specifications/amrita/microbiology-virtual-lab-ii/e99214.json b/specifications/amrita/microbiology-virtual-lab-ii/e99214.json deleted file mode 100644 index 72c5c0c..0000000 --- a/specifications/amrita/microbiology-virtual-lab-ii/e99214.json +++ /dev/null @@ -1,39 +0,0 @@ -{ - "experiment": { - "id": "e99214", - "name": "Bacteriophage Plaque Assay for Phage Titer", - "discipline_id": "biotech", - "institute_id": "amrita", - "developers": [ - { - "name": "Amrita CREATE", - "email": "VLandroid@am.amrita.edu" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "cloud", - "hosted_url": "http://vlab.amrita.edu/?sub=3&brch=76&sim=719&cnt=1" - } - { - "hosting_status": "hosted", - "hosted_on": "openedx", - "hosted_url": "http://vlab.amrita.edu/?sub=3&brch=76&sim=719&cnt=1" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Bacteriophage Plaque Assay for Phage Titer", - "assets": [], - "sections" : [ - "Theory", - "Procedure", - "Self Evaluation", - "Animation", - "Simulator", - "Assignment", - "Reference", - "Feedback" - ] - } -} diff --git a/specifications/amrita/microbiology-virtual-lab-ii/e99215.json b/specifications/amrita/microbiology-virtual-lab-ii/e99215.json deleted file mode 100644 index 37daca2..0000000 --- a/specifications/amrita/microbiology-virtual-lab-ii/e99215.json +++ /dev/null @@ -1,38 +0,0 @@ -{ - "experiment": { - "id": "e99215", - "name": "Slide Culture Technique for Fungi", - "discipline_id": "biotech", - "institute_id": "amrita", - "developers": [ - { - "name": "Amrita CREATE", - "email": "VLandroid@am.amrita.edu" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "cloud", - "hosted_url": "http://vlab.amrita.edu/?sub=3&brch=76&sim=693&cnt=1" - } - { - "hosting_status": "hosted", - "hosted_on": "openedx", - "hosted_url": "http://vlab.amrita.edu/?sub=3&brch=76&sim=693&cnt=1" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Slide Culture Technique for Fungi", - "assets": [], - "sections" : [ - "Theory", - "Procedure", - "Self Evaluation", - "Animation", - "Assignment", - "Reference", - "Feedback" - ] - } -} diff --git a/specifications/amrita/microbiology-virtual-lab-ii/e99216.json b/specifications/amrita/microbiology-virtual-lab-ii/e99216.json deleted file mode 100644 index 23c313e..0000000 --- a/specifications/amrita/microbiology-virtual-lab-ii/e99216.json +++ /dev/null @@ -1,38 +0,0 @@ -{ - "experiment": { - "id": "e99216", - "name": "Litmus Milk Test", - "discipline_id": "biotech", - "institute_id": "amrita", - "developers": [ - { - "name": "Amrita CREATE", - "email": "VLandroid@am.amrita.edu" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "cloud", - "hosted_url": "http://vlab.amrita.edu/?sub=3&brch=76&sim=708&cnt=1" - } - { - "hosting_status": "hosted", - "hosted_on": "openedx", - "hosted_url": "http://vlab.amrita.edu/?sub=3&brch=76&sim=708&cnt=1" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Litmus Milk Test", - "assets": [], - "sections" : [ - "Theory", - "Procedure", - "Self Evaluation", - "Animation", - "Assignment", - "Reference", - "Feedback" - ] - } -} diff --git a/specifications/amrita/microbiology-virtual-lab-ii/e99217.json b/specifications/amrita/microbiology-virtual-lab-ii/e99217.json deleted file mode 100644 index 9264bfe..0000000 --- a/specifications/amrita/microbiology-virtual-lab-ii/e99217.json +++ /dev/null @@ -1,38 +0,0 @@ -{ - "experiment": { - "id": "e99217", - "name": "Urease Test", - "discipline_id": "biotech", - "institute_id": "amrita", - "developers": [ - { - "name": "Amrita CREATE", - "email": "VLandroid@am.amrita.edu" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "cloud", - "hosted_url": "http://vlab.amrita.edu/?sub=3&brch=76&sim=214&cnt=1" - } - { - "hosting_status": "hosted", - "hosted_on": "openedx", - "hosted_url": "http://vlab.amrita.edu/?sub=3&brch=76&sim=214&cnt=1" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Urease Test", - "assets": [], - "sections" : [ - "Theory", - "Procedure", - "Self Evaluation", - "Animation", - "Assignment", - "Reference", - "Feedback" - ] - } -} diff --git a/specifications/amrita/microbiology-virtual-lab-ii/e99218.json b/specifications/amrita/microbiology-virtual-lab-ii/e99218.json deleted file mode 100644 index e370937..0000000 --- a/specifications/amrita/microbiology-virtual-lab-ii/e99218.json +++ /dev/null @@ -1,38 +0,0 @@ -{ - "experiment": { - "id": "e99218", - "name": "Triple Sugar Iron Agar", - "discipline_id": "biotech", - "institute_id": "amrita", - "developers": [ - { - "name": "Amrita CREATE", - "email": "VLandroid@am.amrita.edu" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "cloud", - "hosted_url": "http://vlab.amrita.edu/?sub=3&brch=76&sim=216&cnt=1" - } - { - "hosting_status": "hosted", - "hosted_on": "openedx", - "hosted_url": "http://vlab.amrita.edu/?sub=3&brch=76&sim=216&cnt=1" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Triple Sugar Iron Agar", - "assets": [], - "sections" : [ - "Theory", - "Procedure", - "Self Evaluation", - "Animation", - "Assignment", - "Reference", - "Feedback" - ] - } -} diff --git a/specifications/amrita/microbiology-virtual-lab-ii/e99219.json b/specifications/amrita/microbiology-virtual-lab-ii/e99219.json deleted file mode 100644 index c6008ba..0000000 --- a/specifications/amrita/microbiology-virtual-lab-ii/e99219.json +++ /dev/null @@ -1,38 +0,0 @@ -{ - "experiment": { - "id": "e99219", - "name": "Voges-Proskauer Test", - "discipline_id": "biotech", - "institute_id": "amrita", - "developers": [ - { - "name": "Amrita CREATE", - "email": "VLandroid@am.amrita.edu" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "cloud", - "hosted_url": "http://vlab.amrita.edu/?sub=3&brch=76&sim=215&cnt=1" - } - { - "hosting_status": "hosted", - "hosted_on": "openedx", - "hosted_url": "http://vlab.amrita.edu/?sub=3&brch=76&sim=215&cnt=1" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Voges-Proskauer Test", - "assets": [], - "sections" : [ - "Theory", - "Procedure", - "Self Evaluation", - "Animation", - "Assignment", - "Reference", - "Feedback" - ] - } -} diff --git a/specifications/amrita/microbiology-virtual-lab-ii/microbiology-virtual-lab-ii.json b/specifications/amrita/microbiology-virtual-lab-ii/microbiology-virtual-lab-ii.json deleted file mode 100644 index 1168c32..0000000 --- a/specifications/amrita/microbiology-virtual-lab-ii/microbiology-virtual-lab-ii.json +++ /dev/null @@ -1,47 +0,0 @@ -{ - "lab": { - "id": "biotech13", - "name": "microbiology virtual lab ii", - "discipline_id": "biotech", - "institute_id": "amrita", - "developers": [ - { - "name": "Amrita CREATE", - "email": "VLandroid@am.amrita.edu" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "cloud", - "hosted_url": "http://vlab.amrita.edu/?sub=3&brch=76" - }, - { - "hosting_status": "hosted", - "hosted_on": "openedx", - "hosted_url": "http://vlab.amrita.edu/?sub=3&brch=76" - } - ], - "integration_level": 4, - "overview": "This lab deals with microbiology virtual lab ii", - "assets": [], - "sections": [ - { - "name": "Introduction" - }, - { - "experiments" : [ - "e99219", - "e99218", - "e99217", - "e99216", - "e99215", - "e99214", - "e99213", - "e99212", - "e99211" - ] - } - ] - } -} diff --git a/specifications/amrita/modern-physics-virtual-lab/e99192.json b/specifications/amrita/modern-physics-virtual-lab/e99192.json deleted file mode 100644 index 804d700..0000000 --- a/specifications/amrita/modern-physics-virtual-lab/e99192.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "experiment": { - "id": "e99192", - "name": "Magnetic Material Characterization via Hystersis (Remote Trigger)", - "discipline_id": "phy-sc", - "institute_id": "amrita", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlab.amrita.edu/?sub=1&brch=195&sim=800&cnt=1" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Magnetic Material Characterization via Hystersis (Remote Trigger)", - "assets": [], - "sections" : [ - "Theory", - "Procedure", - "Self Evaluation", - "Remote Panel", - "Assignment", - "Reference", - "Feedback" - ] - } -} diff --git a/specifications/amrita/modern-physics-virtual-lab/e99193.json b/specifications/amrita/modern-physics-virtual-lab/e99193.json deleted file mode 100644 index 68b571b..0000000 --- a/specifications/amrita/modern-physics-virtual-lab/e99193.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "experiment": { - "id": "e99193", - "name": "Millikan's oil drop experiment", - "discipline_id": "phy-sc", - "institute_id": "amrita", - "developers": [ - { - "name": "Amrita CREATE", - "email": "VLandroid@am.amrita.edu" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlab.amrita.edu/?sub=1&brch=195&sim=357&cnt=1" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Millikan's oil drop experiment", - "assets": [], - "sections" : [ - "Theory", - "Procedure", - "Self Evaluation", - "Simulator", - "Assignment", - "Reference", - "Feedback" - ] - } -} diff --git a/specifications/amrita/modern-physics-virtual-lab/e99194.json b/specifications/amrita/modern-physics-virtual-lab/e99194.json deleted file mode 100644 index 3b487bb..0000000 --- a/specifications/amrita/modern-physics-virtual-lab/e99194.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "experiment": { - "id": "e99194", - "name": "Emission spectra", - "discipline_id": "phy-sc", - "institute_id": "amrita", - "developers": [ - { - "name": "Amrita CREATE", - "email": "VLandroid@am.amrita.edu" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlab.amrita.edu/?sub=1&brch=195&sim=359&cnt=1" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Emission spectra", - "assets": [], - "sections" : [ - "Simulator", - "Assignment", - "Reference", - "Feedback" - ] - } -} diff --git a/specifications/amrita/modern-physics-virtual-lab/e99195.json b/specifications/amrita/modern-physics-virtual-lab/e99195.json deleted file mode 100644 index 041c523..0000000 --- a/specifications/amrita/modern-physics-virtual-lab/e99195.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "experiment": { - "id": "e99195", - "name": "Abbe's Refractometer", - "discipline_id": "phy-sc", - "institute_id": "amrita", - "developers": [ - { - "name": "Amrita CREATE", - "email": "VLandroid@am.amrita.edu" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlab.amrita.edu/?sub=1&brch=195&sim=545&cnt=1" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Abbe's Refractometer", - "assets": [], - "sections" : [ - "Theory", - "Procedure", - "Self Evaluation", - "Simulator", - "Assignment", - "Reference", - "Feedback" - ] - } -} diff --git a/specifications/amrita/modern-physics-virtual-lab/e99196.json b/specifications/amrita/modern-physics-virtual-lab/e99196.json deleted file mode 100644 index 373e507..0000000 --- a/specifications/amrita/modern-physics-virtual-lab/e99196.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "experiment": { - "id": "e99196", - "name": "Determination of Planck's Constant", - "discipline_id": "phy-sc", - "institute_id": "amrita", - "developers": [ - { - "name": "Amrita CREATE", - "email": "VLandroid@am.amrita.edu" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlab.amrita.edu/?sub=1&brch=195&sim=547&cnt=1" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Determination of Planck's Constant", - "assets": [], - "sections" : [ - "Theory", - "Procedure", - "Self Evaluation", - "Simulator", - "Assignment", - "Reference", - "Feedback" - ] - } -} diff --git a/specifications/amrita/modern-physics-virtual-lab/e99197.json b/specifications/amrita/modern-physics-virtual-lab/e99197.json deleted file mode 100644 index e07a9d1..0000000 --- a/specifications/amrita/modern-physics-virtual-lab/e99197.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "experiment": { - "id": "e99197", - "name": "Photoelectric effect", - "discipline_id": "phy-sc", - "institute_id": "amrita", - "developers": [ - { - "name": "Amrita CREATE", - "email": "VLandroid@am.amrita.edu" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlab.amrita.edu/?sub=1&brch=195&sim=840&cnt=1" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Photoelectric effect", - "assets": [], - "sections" : [ - "Theory", - "Procedure", - "Self Evaluation", - "Simulator", - "Assignment", - "Reference", - "Feedback" - ] - } -} diff --git a/specifications/amrita/modern-physics-virtual-lab/e99198.json b/specifications/amrita/modern-physics-virtual-lab/e99198.json deleted file mode 100644 index c0c0895..0000000 --- a/specifications/amrita/modern-physics-virtual-lab/e99198.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "experiment": { - "id": "e99198", - "name": "Solar Panel Experiment (Remote Trigger)", - "discipline_id": "phy-sc", - "institute_id": "amrita", - "developers": [ - { - "name": "Amrita CREATE", - "email": "VLandroid@am.amrita.edu" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlab.amrita.edu/?sub=1&brch=195&sim=360&cnt=1" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Solar Panel Experiment (Remote Trigger)", - "assets": [], - "sections" : [ - "Theory", - "Procedure", - "Self Evaluation", - "Remote Panel", - "Assignment", - "Reference", - "Feedback" - ] - } -} diff --git a/specifications/amrita/modern-physics-virtual-lab/e99199.json b/specifications/amrita/modern-physics-virtual-lab/e99199.json deleted file mode 100644 index cdecc17..0000000 --- a/specifications/amrita/modern-physics-virtual-lab/e99199.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "experiment": { - "id": "e99199", - "name": "Soldering (Remote Trigger)", - "discipline_id": "phy-sc", - "institute_id": "amrita", - "developers": [ - { - "name": "Amrita CREATE", - "email": "VLandroid@am.amrita.edu" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlab.amrita.edu/?sub=1&brch=195&sim=364&cnt=1" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Soldering (Remote Trigger)", - "assets": [], - "sections" : [ - "Theory", - "Procedure", - "Self Evaluation", - "Reference", - "Feedback" - ] - } -} diff --git a/specifications/amrita/modern-physics-virtual-lab/e99200.json b/specifications/amrita/modern-physics-virtual-lab/e99200.json deleted file mode 100644 index d8f0d7b..0000000 --- a/specifications/amrita/modern-physics-virtual-lab/e99200.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "experiment": { - "id": "e99200", - "name": "Franck-Hertz Experiment", - "discipline_id": "phy-sc", - "institute_id": "amrita", - "developers": [ - { - "name": "Amrita CREATE", - "email": "VLandroid@am.amrita.edu" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlab.amrita.edu/?sub=1&brch=195&sim=355&cnt=1" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Franck-Hertz Experiment", - "assets": [], - "sections" : [ - "Theory", - "Procedure", - "Self Evaluation", - "Simulator", - "Assignment", - "Reference", - "Feedback" - ] - } -} diff --git a/specifications/amrita/modern-physics-virtual-lab/modern-physics-virtual-lab.json b/specifications/amrita/modern-physics-virtual-lab/modern-physics-virtual-lab.json deleted file mode 100644 index c7bd292..0000000 --- a/specifications/amrita/modern-physics-virtual-lab/modern-physics-virtual-lab.json +++ /dev/null @@ -1,42 +0,0 @@ -{ - "lab": { - "id": "phy-sc27", - "name": "modern physics virtual lab", - "discipline_id": "phy-sc", - "institute_id": "amrita", - "developers": [ - { - "name": "Amrita CREATE", - "email": "VLandroid@am.amrita.edu" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlab.amrita.edu/?sub=1&brch=195" - } - ], - "integration_level": 4, - "overview": "This lab deals with modern physics virtual lab", - "assets": [], - "sections": [ - { - "name": "Introduction" - }, - { - "experiments" : [ - "e99200", - "e99199", - "e99198", - "e99197", - "e99196", - "e99195", - "e99194", - "e99193", - "e99192" - ] - } - ] - } -} diff --git a/specifications/amrita/neuron-simulation-lab-(pilot)/e98792.json b/specifications/amrita/neuron-simulation-lab-(pilot)/e98792.json deleted file mode 100644 index a3f2f32..0000000 --- a/specifications/amrita/neuron-simulation-lab-(pilot)/e98792.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "experiment": { - "id": "e98792", - "name": "Effects of pharmacological blockers on action potential", - "discipline_id": "biotech", - "institute_id": "amrita", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlab.amrita.edu/?sub=3&brch=212&sim=1310&cnt=1" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Effects of pharmacological blockers on action potential", - "assets": [], - "sections" : [ - "Theory", - "Procedure", - "Self Evaluation", - "Simulator", - "Assignment", - "Reference", - "Feedback" - ] - } -} diff --git a/specifications/amrita/neuron-simulation-lab-(pilot)/e98793.json b/specifications/amrita/neuron-simulation-lab-(pilot)/e98793.json deleted file mode 100644 index f61b088..0000000 --- a/specifications/amrita/neuron-simulation-lab-(pilot)/e98793.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "experiment": { - "id": "e98793", - "name": "Voltage-Current (VI) plot", - "discipline_id": "biotech", - "institute_id": "amrita", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlab.amrita.edu/?sub=3&brch=212&sim=1309&cnt=1" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Voltage-Current (VI) plot", - "assets": [], - "sections" : [ - "Theory", - "Procedure", - "Self Evaluation", - "Simulator", - "Assignment", - "Reference", - "Feedback" - ] - } -} diff --git a/specifications/amrita/neuron-simulation-lab-(pilot)/e98794.json b/specifications/amrita/neuron-simulation-lab-(pilot)/e98794.json deleted file mode 100644 index 6e43558..0000000 --- a/specifications/amrita/neuron-simulation-lab-(pilot)/e98794.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "experiment": { - "id": "e98794", - "name": "Understanding first spike latency - current relationship", - "discipline_id": "biotech", - "institute_id": "amrita", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlab.amrita.edu/?sub=3&brch=212&sim=1311&cnt=1" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Understanding first spike latency - current relationship", - "assets": [], - "sections" : [ - "Theory", - "Procedure", - "Self Evaluation", - "Simulator", - "Assignment", - "Reference", - "Feedback" - ] - } -} diff --git a/specifications/amrita/neuron-simulation-lab-(pilot)/e98795.json b/specifications/amrita/neuron-simulation-lab-(pilot)/e98795.json deleted file mode 100644 index 124b618..0000000 --- a/specifications/amrita/neuron-simulation-lab-(pilot)/e98795.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "experiment": { - "id": "e98795", - "name": "Understanding Frequency-Current relationship", - "discipline_id": "biotech", - "institute_id": "amrita", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlab.amrita.edu/?sub=3&brch=212&sim=1308&cnt=1" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Understanding Frequency-Current relationship", - "assets": [], - "sections" : [ - "Theory", - "Procedure", - "Self Evaluation", - "Simulator", - "Assignment", - "Reference", - "Feedback" - ] - } -} diff --git a/specifications/amrita/neuron-simulation-lab-(pilot)/e98796.json b/specifications/amrita/neuron-simulation-lab-(pilot)/e98796.json deleted file mode 100644 index d21a691..0000000 --- a/specifications/amrita/neuron-simulation-lab-(pilot)/e98796.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "experiment": { - "id": "e98796", - "name": "Voltage Clamp Protocol", - "discipline_id": "biotech", - "institute_id": "amrita", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlab.amrita.edu/?sub=3&brch=212&sim=894&cnt=1" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Voltage Clamp Protocol", - "assets": [], - "sections" : [ - "Theory", - "Procedure", - "Self Evaluation", - "Simulator", - "Assignment", - "Reference", - "Feedback" - ] - } -} diff --git a/specifications/amrita/neuron-simulation-lab-(pilot)/e98797.json b/specifications/amrita/neuron-simulation-lab-(pilot)/e98797.json deleted file mode 100644 index 9ccff9b..0000000 --- a/specifications/amrita/neuron-simulation-lab-(pilot)/e98797.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "experiment": { - "id": "e98797", - "name": "Current Clamp protocol", - "discipline_id": "biotech", - "institute_id": "amrita", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlab.amrita.edu/?sub=3&brch=212&sim=768&cnt=1" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Current Clamp protocol", - "assets": [], - "sections" : [ - "Theory", - "Procedure", - "Self Evaluation", - "Simulator", - "Assignment", - "Reference", - "Feedback" - ] - } -} diff --git a/specifications/amrita/neuron-simulation-lab-(pilot)/e98798.json b/specifications/amrita/neuron-simulation-lab-(pilot)/e98798.json deleted file mode 100644 index db71e68..0000000 --- a/specifications/amrita/neuron-simulation-lab-(pilot)/e98798.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "experiment": { - "id": "e98798", - "name": "Modeling the sodium ion channel and its effects on neural signaling", - "discipline_id": "biotech", - "institute_id": "amrita", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlab.amrita.edu/?sub=3&brch=212&sim=766&cnt=1" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Modeling the sodium ion channel and its effects on neural signaling", - "assets": [], - "sections" : [ - "Theory", - "Procedure", - "Self Evaluation", - "Simulator", - "Assignment", - "Reference", - "Feedback" - ] - } -} diff --git a/specifications/amrita/neuron-simulation-lab-(pilot)/e98799.json b/specifications/amrita/neuron-simulation-lab-(pilot)/e98799.json deleted file mode 100644 index cc4d19c..0000000 --- a/specifications/amrita/neuron-simulation-lab-(pilot)/e98799.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "experiment": { - "id": "e98799", - "name": "Modeling the delayed rectifier Potassium channels", - "discipline_id": "biotech", - "institute_id": "amrita", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlab.amrita.edu/?sub=3&brch=212&sim=767&cnt=1" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Modeling the delayed rectifier Potassium channels", - "assets": [], - "sections" : [ - "Theory", - "Procedure", - "Self Evaluation", - "Simulator", - "Assignment", - "Reference", - "Feedback" - ] - } -} diff --git a/specifications/amrita/neuron-simulation-lab-(pilot)/e98800.json b/specifications/amrita/neuron-simulation-lab-(pilot)/e98800.json deleted file mode 100644 index 8889544..0000000 --- a/specifications/amrita/neuron-simulation-lab-(pilot)/e98800.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "experiment": { - "id": "e98800", - "name": "Modeling action potentials", - "discipline_id": "biotech", - "institute_id": "amrita", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlab.amrita.edu/?sub=3&brch=212&sim=742&cnt=1" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Modeling action potentials", - "assets": [], - "sections" : [ - "Theory", - "Procedure", - "Self Evaluation", - "Simulator", - "Assignment", - "Reference", - "Feedback" - ] - } -} diff --git a/specifications/amrita/neuron-simulation-lab-(pilot)/e98801.json b/specifications/amrita/neuron-simulation-lab-(pilot)/e98801.json deleted file mode 100644 index 8c11292..0000000 --- a/specifications/amrita/neuron-simulation-lab-(pilot)/e98801.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "experiment": { - "id": "e98801", - "name": "Modeling resting potentials in Neurons", - "discipline_id": "biotech", - "institute_id": "amrita", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlab.amrita.edu/?sub=3&brch=212&sim=724&cnt=1" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Modeling resting potentials in Neurons", - "assets": [], - "sections" : [ - "Theory", - "Procedure", - "Self Evaluation", - "Simulator", - "Assignment", - "Reference", - "Feedback" - ] - } -} diff --git a/specifications/amrita/neuron-simulation-lab-(pilot)/neuron-simulation-lab-(pilot).json b/specifications/amrita/neuron-simulation-lab-(pilot)/neuron-simulation-lab-(pilot).json deleted file mode 100644 index c61bf10..0000000 --- a/specifications/amrita/neuron-simulation-lab-(pilot)/neuron-simulation-lab-(pilot).json +++ /dev/null @@ -1,38 +0,0 @@ -{ - "lab": { - "id": "biotech19", - "name": "neuron simulation lab (pilot)", - "discipline_id": "biotech", - "institute_id": "amrita", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlab.amrita.edu/?sub=3&brch=212" - } - ], - "integration_level": 4, - "overview": "This lab deals with neuron simulation lab (pilot)", - "assets": [], - "sections": [ - { - "name": "Introduction" - }, - { - "experiments" : [ - "e98801", - "e98800", - "e98799", - "e98798", - "e98797", - "e98796", - "e98795", - "e98794", - "e98793", - "e98792" - ] - } - ] - } -} diff --git a/specifications/amrita/neurophysiology-(pilot)/e98802.json b/specifications/amrita/neurophysiology-(pilot)/e98802.json deleted file mode 100644 index f4309e0..0000000 --- a/specifications/amrita/neurophysiology-(pilot)/e98802.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "experiment": { - "id": "e98802", - "name": "Effect of Noise on Spiking Neurons (Remote trigger)", - "discipline_id": "biotech", - "institute_id": "amrita", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlab.amrita.edu/?sub=3&brch=43&sim=146&cnt=1" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Effect of Noise on Spiking Neurons (Remote trigger)", - "assets": [], - "sections" : [ - "Theory", - "Procedure", - "Self Evaluation", - "RemotePanel", - "Assignment", - "Reference", - "Feedback" - ] - } -} diff --git a/specifications/amrita/neurophysiology-(pilot)/e98803.json b/specifications/amrita/neurophysiology-(pilot)/e98803.json deleted file mode 100644 index 8e4b979..0000000 --- a/specifications/amrita/neurophysiology-(pilot)/e98803.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "experiment": { - "id": "e98803", - "name": "Effects of Ion Channels in Membrane Biophysics (Remote trigger)", - "discipline_id": "biotech", - "institute_id": "amrita", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlab.amrita.edu/?sub=3&brch=43&sim=143&cnt=1" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Effects of Ion Channels in Membrane Biophysics (Remote trigger)", - "assets": [], - "sections" : [ - "Theory", - "Procedure", - "Self Evaluation", - "RemotePanel", - "Assignment", - "Reference", - "Feedback" - ] - } -} diff --git a/specifications/amrita/neurophysiology-(pilot)/e98804.json b/specifications/amrita/neurophysiology-(pilot)/e98804.json deleted file mode 100644 index 649254c..0000000 --- a/specifications/amrita/neurophysiology-(pilot)/e98804.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "experiment": { - "id": "e98804", - "name": "Understanding the Passive Properties of a Simple Neuron (Remote trigger)", - "discipline_id": "biotech", - "institute_id": "amrita", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlab.amrita.edu/?sub=3&brch=43&sim=137&cnt=1" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Understanding the Passive Properties of a Simple Neuron (Remote trigger)", - "assets": [], - "sections" : [ - "Theory", - "Procedure", - "Self Evaluation", - "RemotePanel", - "Assignment", - "Reference", - "Feedback" - ] - } -} diff --git a/specifications/amrita/neurophysiology-(pilot)/e98805.json b/specifications/amrita/neurophysiology-(pilot)/e98805.json deleted file mode 100644 index 566aad2..0000000 --- a/specifications/amrita/neurophysiology-(pilot)/e98805.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "experiment": { - "id": "e98805", - "name": "Measuring Field Potentials Using MEA chips", - "discipline_id": "biotech", - "institute_id": "amrita", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlab.amrita.edu/?sub=3&brch=43&sim=135&cnt=1" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Measuring Field Potentials Using MEA chips", - "assets": [], - "sections" : [ - "Theory", - "Procedure", - "Self Evaluation", - "Animation", - "Assignment", - "Reference", - "Feedback" - ] - } -} diff --git a/specifications/amrita/neurophysiology-(pilot)/e98806.json b/specifications/amrita/neurophysiology-(pilot)/e98806.json deleted file mode 100644 index 0717473..0000000 --- a/specifications/amrita/neurophysiology-(pilot)/e98806.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "experiment": { - "id": "e98806", - "name": "Study of Synaptic Transmission (Remote trigger)", - "discipline_id": "biotech", - "institute_id": "amrita", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlab.amrita.edu/?sub=3&brch=43&sim=153&cnt=1" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Study of Synaptic Transmission (Remote trigger)", - "assets": [], - "sections" : [ - "Theory", - "Procedure", - "Self Evaluation", - "RemotePanel", - "Assignment", - "Reference", - "Feedback" - ] - } -} diff --git a/specifications/amrita/neurophysiology-(pilot)/e98807.json b/specifications/amrita/neurophysiology-(pilot)/e98807.json deleted file mode 100644 index 7b16b27..0000000 --- a/specifications/amrita/neurophysiology-(pilot)/e98807.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "experiment": { - "id": "e98807", - "name": "Voltage Clamp Technique", - "discipline_id": "biotech", - "institute_id": "amrita", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlab.amrita.edu/?sub=3&brch=43&sim=134&cnt=1" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Voltage Clamp Technique", - "assets": [], - "sections" : [ - "Theory", - "Procedure", - "Self Evaluation", - "Animation", - "Simulator", - "Assignment", - "Reference", - "Feedback" - ] - } -} diff --git a/specifications/amrita/neurophysiology-(pilot)/e98808.json b/specifications/amrita/neurophysiology-(pilot)/e98808.json deleted file mode 100644 index 4a7c552..0000000 --- a/specifications/amrita/neurophysiology-(pilot)/e98808.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "experiment": { - "id": "e98808", - "name": "Current Clamp Technique", - "discipline_id": "biotech", - "institute_id": "amrita", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlab.amrita.edu/?sub=3&brch=43&sim=132&cnt=1" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Current Clamp Technique", - "assets": [], - "sections" : [ - "Theory", - "Procedure", - "Self Evaluation", - "Animation", - "Simulator", - "Assignment", - "Reference", - "Feedback" - ] - } -} diff --git a/specifications/amrita/neurophysiology-(pilot)/e98809.json b/specifications/amrita/neurophysiology-(pilot)/e98809.json deleted file mode 100644 index 391a3c3..0000000 --- a/specifications/amrita/neurophysiology-(pilot)/e98809.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "experiment": { - "id": "e98809", - "name": "Patch Clamp Technique", - "discipline_id": "biotech", - "institute_id": "amrita", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlab.amrita.edu/?sub=3&brch=43&sim=131&cnt=1" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Patch Clamp Technique", - "assets": [], - "sections" : [ - "Theory", - "Procedure", - "Self Evaluation", - "Animation", - "Simulator", - "Assignment", - "Reference", - "Feedback" - ] - } -} diff --git a/specifications/amrita/neurophysiology-(pilot)/e98810.json b/specifications/amrita/neurophysiology-(pilot)/e98810.json deleted file mode 100644 index fdf60f8..0000000 --- a/specifications/amrita/neurophysiology-(pilot)/e98810.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "experiment": { - "id": "e98810", - "name": "Simple Neuron Model - the HH neuron", - "discipline_id": "biotech", - "institute_id": "amrita", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlab.amrita.edu/?sub=3&brch=43&sim=129&cnt=1" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Simple Neuron Model - the HH neuron", - "assets": [], - "sections" : [ - "Theory", - "Procedure", - "Self Evaluation", - "Animation", - "Simulator", - "Assignment", - "Reference", - "Feedback" - ] - } -} diff --git a/specifications/amrita/neurophysiology-(pilot)/e98811.json b/specifications/amrita/neurophysiology-(pilot)/e98811.json deleted file mode 100644 index c54b2f8..0000000 --- a/specifications/amrita/neurophysiology-(pilot)/e98811.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "experiment": { - "id": "e98811", - "name": "Brain Slice Preparation", - "discipline_id": "biotech", - "institute_id": "amrita", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlab.amrita.edu/?sub=3&brch=43&sim=127&cnt=381" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Brain Slice Preparation", - "assets": [], - "sections" : [ - "Theory", - "Procedure", - "Self Evaluation", - "Animation", - "Assignment", - "Reference", - "Feedback" - ] - } -} diff --git a/specifications/amrita/neurophysiology-(pilot)/neurophysiology-(pilot).json b/specifications/amrita/neurophysiology-(pilot)/neurophysiology-(pilot).json deleted file mode 100644 index 0602b31..0000000 --- a/specifications/amrita/neurophysiology-(pilot)/neurophysiology-(pilot).json +++ /dev/null @@ -1,38 +0,0 @@ -{ - "lab": { - "id": "biotech20", - "name": "neurophysiology (pilot)", - "discipline_id": "biotech", - "institute_id": "amrita", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlab.amrita.edu/?sub=3&brch=43" - } - ], - "integration_level": 4, - "overview": "This lab deals with neurophysiology (pilot)", - "assets": [], - "sections": [ - { - "name": "Introduction" - }, - { - "experiments" : [ - "e98811", - "e98810", - "e98809", - "e98808", - "e98807", - "e98806", - "e98805", - "e98804", - "e98803", - "e98802" - ] - } - ] - } -} diff --git a/specifications/amrita/solid-state-physics-virtual-lab/e98855.json b/specifications/amrita/solid-state-physics-virtual-lab/e98855.json deleted file mode 100644 index 6eb3a55..0000000 --- a/specifications/amrita/solid-state-physics-virtual-lab/e98855.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "experiment": { - "id": "e98855", - "name": "Crystal Structure", - "discipline_id": "phy-sc", - "institute_id": "amrita", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlab.amrita.edu/?sub=1&brch=282&sim=370&cnt=1" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Crystal Structure", - "assets": [], - "sections" : [ - "Theory", - "Procedure", - "Self Evaluation", - "Simulator", - "Assignment", - "Reference", - "Feedback" - ] - } -} diff --git a/specifications/amrita/solid-state-physics-virtual-lab/e98856.json b/specifications/amrita/solid-state-physics-virtual-lab/e98856.json deleted file mode 100644 index 467feed..0000000 --- a/specifications/amrita/solid-state-physics-virtual-lab/e98856.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "experiment": { - "id": "e98856", - "name": "Zener Diode as Voltage Regulator", - "discipline_id": "phy-sc", - "institute_id": "amrita", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlab.amrita.edu/?sub=1&brch=282&sim=1207&cnt=1" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Zener Diode as Voltage Regulator", - "assets": [], - "sections" : [ - "Theory", - "Procedure", - "Self Evaluation", - "Simulator", - "Assignment", - "Reference", - "Feedback" - ] - } -} diff --git a/specifications/amrita/solid-state-physics-virtual-lab/e98857.json b/specifications/amrita/solid-state-physics-virtual-lab/e98857.json deleted file mode 100644 index cee8077..0000000 --- a/specifications/amrita/solid-state-physics-virtual-lab/e98857.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "experiment": { - "id": "e98857", - "name": "Cornus Experiment", - "discipline_id": "phy-sc", - "institute_id": "amrita", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlab.amrita.edu/?sub=1&brch=282&sim=1005&cnt=1" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Cornus Experiment", - "assets": [], - "sections" : [ - "Theory", - "Procedure", - "Self Evaluation", - "Simulator", - "Assignment", - "Reference" - ] - } -} diff --git a/specifications/amrita/solid-state-physics-virtual-lab/e98858.json b/specifications/amrita/solid-state-physics-virtual-lab/e98858.json deleted file mode 100644 index 368bd90..0000000 --- a/specifications/amrita/solid-state-physics-virtual-lab/e98858.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "experiment": { - "id": "e98858", - "name": "Hall effect experiment:- Determination of charge carrier density", - "discipline_id": "phy-sc", - "institute_id": "amrita", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlab.amrita.edu/?sub=1&brch=282&sim=879&cnt=1" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Hall effect experiment:- Determination of charge carrier density", - "assets": [], - "sections" : [ - "Theory", - "Procedure", - "Self Evaluation", - "Simulator", - "Assignment", - "Reference", - "Feedback" - ] - } -} diff --git a/specifications/amrita/solid-state-physics-virtual-lab/e98859.json b/specifications/amrita/solid-state-physics-virtual-lab/e98859.json deleted file mode 100644 index 6e177e8..0000000 --- a/specifications/amrita/solid-state-physics-virtual-lab/e98859.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "experiment": { - "id": "e98859", - "name": "B-H Curve", - "discipline_id": "phy-sc", - "institute_id": "amrita", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlab.amrita.edu/?sub=1&brch=282&sim=1507&cnt=1" - } - ], - "integration_level": 4, - "overview": "This experiments deals with B-H Curve", - "assets": [], - "sections" : [ - "Theory", - "Procedure", - "Simulator", - "Reference", - "Feedback" - ] - } -} diff --git a/specifications/amrita/solid-state-physics-virtual-lab/e98860.json b/specifications/amrita/solid-state-physics-virtual-lab/e98860.json deleted file mode 100644 index 23a7077..0000000 --- a/specifications/amrita/solid-state-physics-virtual-lab/e98860.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "experiment": { - "id": "e98860", - "name": "Resistivity by Four Probe Method", - "discipline_id": "phy-sc", - "institute_id": "amrita", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlab.amrita.edu/?sub=1&brch=282&sim=1512&cnt=1" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Resistivity by Four Probe Method", - "assets": [], - "sections" : [ - "Theory", - "Procedure", - "Self Evaluation", - "Simulator", - "Assignment", - "Reference", - "Feedback" - ] - } -} diff --git a/specifications/amrita/solid-state-physics-virtual-lab/e98861.json b/specifications/amrita/solid-state-physics-virtual-lab/e98861.json deleted file mode 100644 index f1bc104..0000000 --- a/specifications/amrita/solid-state-physics-virtual-lab/e98861.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "experiment": { - "id": "e98861", - "name": "Characteristics of Zener diode", - "discipline_id": "phy-sc", - "institute_id": "amrita", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlab.amrita.edu/?sub=1&brch=282&sim=1522&cnt=1" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Characteristics of Zener diode", - "assets": [], - "sections" : [ - "Theory", - "Procedure", - "Simulator", - "Assignment", - "Reference", - "Feedback" - ] - } -} diff --git a/specifications/amrita/solid-state-physics-virtual-lab/e99977.json b/specifications/amrita/solid-state-physics-virtual-lab/e99977.json deleted file mode 100644 index bb1696d..0000000 --- a/specifications/amrita/solid-state-physics-virtual-lab/e99977.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "experiment": { - "id": "e99977", - "name": "Characteristics of Thermistor", - "discipline_id": "phy-sc", - "institute_id": "amrita", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlab.amrita.edu/?sub=1&brch=282&sim=1511&cnt=1" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Characteristics of Thermistor", - "assets": [], - "sections" : [ - "Theory", - "Procedure", - "Self Evaluation", - "Simulator", - "Assignment", - "Reference", - "Feedback" - ] - } -} diff --git a/specifications/amrita/solid-state-physics-virtual-lab/solid-state-physics-virtual-lab.json b/specifications/amrita/solid-state-physics-virtual-lab/solid-state-physics-virtual-lab.json deleted file mode 100644 index ebba7e0..0000000 --- a/specifications/amrita/solid-state-physics-virtual-lab/solid-state-physics-virtual-lab.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "lab": { - "id": "phy-sc21", - "name": "solid state physics virtual lab", - "discipline_id": "phy-sc", - "institute_id": "amrita", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlab.amrita.edu/?sub=1&brch=282" - } - ], - "integration_level": 4, - "overview": "This lab deals with solid state physics virtual lab", - "assets": [], - "sections": [ - { - "name": "Introduction" - }, - { - "experiments" : [ - "e98861", - "e99977", - "e98860", - "e98859", - "e98858", - "e98857", - "e98856", - "e98855" - ] - } - ] - } -} diff --git a/specifications/amrita/systems-biology-virtual-lab/e98828.json b/specifications/amrita/systems-biology-virtual-lab/e98828.json deleted file mode 100644 index 6f3edaa..0000000 --- a/specifications/amrita/systems-biology-virtual-lab/e98828.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "experiment": { - "id": "e98828", - "name": "Analyzing the network by finding sub modules", - "discipline_id": "biotech", - "institute_id": "amrita", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlab.amrita.edu/index.php?sub=3&brch=276&sim=1487&cnt=1" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Analyzing the network by finding sub modules", - "assets": [], - "sections" : [ - "Theory", - "Procedure", - "Self Evaluation", - "Simulator", - "Assignment", - "Reference", - "Feedback" - ] - } -} diff --git a/specifications/amrita/systems-biology-virtual-lab/e98829.json b/specifications/amrita/systems-biology-virtual-lab/e98829.json deleted file mode 100644 index ec2ee99..0000000 --- a/specifications/amrita/systems-biology-virtual-lab/e98829.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "experiment": { - "id": "e98829", - "name": "Integrating Biological Networks and Microarray Expression data", - "discipline_id": "biotech", - "institute_id": "amrita", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlab.amrita.edu/index.php?sub=3&brch=276&sim=1483&cnt=1" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Integrating Biological Networks and Microarray Expression data", - "assets": [], - "sections" : [ - "Theory", - "Procedure", - "Self Evaluation", - "Simulator", - "Assignment", - "Reference", - "Feedback" - ] - } -} diff --git a/specifications/amrita/systems-biology-virtual-lab/e98830.json b/specifications/amrita/systems-biology-virtual-lab/e98830.json deleted file mode 100644 index 80ede2b..0000000 --- a/specifications/amrita/systems-biology-virtual-lab/e98830.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "experiment": { - "id": "e98830", - "name": "Analysis of biological networks for feature detection", - "discipline_id": "biotech", - "institute_id": "amrita", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlab.amrita.edu/index.php?sub=3&brch=276&sim=1475&cnt=1" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Analysis of biological networks for feature detection", - "assets": [], - "sections" : [ - "Theory", - "Procedure", - "Self Evaluation", - "Simulator", - "Assignment", - "Reference", - "Feedback" - ] - } -} diff --git a/specifications/amrita/systems-biology-virtual-lab/e98831.json b/specifications/amrita/systems-biology-virtual-lab/e98831.json deleted file mode 100644 index 41b37a5..0000000 --- a/specifications/amrita/systems-biology-virtual-lab/e98831.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "experiment": { - "id": "e98831", - "name": "Creating and Visualizing a Simple Network Model", - "discipline_id": "biotech", - "institute_id": "amrita", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlab.amrita.edu/index.php?sub=3&brch=276&sim=1456&cnt=1" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Creating and Visualizing a Simple Network Model", - "assets": [], - "sections" : [ - "Theory", - "Procedure", - "Self Evaluation", - "Simulator", - "Assignment", - "Reference", - "Feedback" - ] - } -} diff --git a/specifications/amrita/systems-biology-virtual-lab/e98832.json b/specifications/amrita/systems-biology-virtual-lab/e98832.json deleted file mode 100644 index a9a941d..0000000 --- a/specifications/amrita/systems-biology-virtual-lab/e98832.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "experiment": { - "id": "e98832", - "name": "SBML-A markup language for mathematical models in systems biology using cell designer", - "discipline_id": "biotech", - "institute_id": "amrita", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlab.amrita.edu/index.php?sub=3&brch=276&sim=1473&cnt=1" - } - ], - "integration_level": 4, - "overview": "This experiments deals with SBML-A markup language for mathematical models in systems biology using cell designer", - "assets": [], - "sections" : [ - "Theory", - "Procedure", - "Self Evaluation", - "Simulator", - "Assignment", - "Reference", - "Feedback" - ] - } -} diff --git a/specifications/amrita/systems-biology-virtual-lab/e98833.json b/specifications/amrita/systems-biology-virtual-lab/e98833.json deleted file mode 100644 index 2dee93e..0000000 --- a/specifications/amrita/systems-biology-virtual-lab/e98833.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "experiment": { - "id": "e98833", - "name": "To Import and simulate a model from the repository", - "discipline_id": "biotech", - "institute_id": "amrita", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlab.amrita.edu/index.php?sub=3&brch=276&sim=1490&cnt=1" - } - ], - "integration_level": 4, - "overview": "This experiments deals with To Import and simulate a model from the repository", - "assets": [], - "sections" : [ - "Theory", - "Procedure", - "Self Evaluation", - "Simulator", - "Assignment", - "Reference", - "Feedback" - ] - } -} diff --git a/specifications/amrita/systems-biology-virtual-lab/e98834.json b/specifications/amrita/systems-biology-virtual-lab/e98834.json deleted file mode 100644 index d14c897..0000000 --- a/specifications/amrita/systems-biology-virtual-lab/e98834.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "experiment": { - "id": "e98834", - "name": "Import and simulate models from different databases", - "discipline_id": "biotech", - "institute_id": "amrita", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlab.amrita.edu/index.php?sub=3&brch=276&sim=1472&cnt=1" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Import and simulate models from different databases", - "assets": [], - "sections" : [ - "Theory", - "Procedure", - "Self Evaluation", - "Simulator", - "Assignment", - "Reference", - "Feedback" - ] - } -} diff --git a/specifications/amrita/systems-biology-virtual-lab/e98835.json b/specifications/amrita/systems-biology-virtual-lab/e98835.json deleted file mode 100644 index 9ac960e..0000000 --- a/specifications/amrita/systems-biology-virtual-lab/e98835.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "experiment": { - "id": "e98835", - "name": "Mathematical modeling and simulating of Biochemical network", - "discipline_id": "biotech", - "institute_id": "amrita", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlab.amrita.edu/index.php?sub=3&brch=276&sim=1457&cnt=1" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Mathematical modeling and simulating of Biochemical network", - "assets": [], - "sections" : [ - "Theory", - "Procedure", - "Self Evaluation", - "Simulator", - "Assignment", - "Reference", - "Feedback" - ] - } -} diff --git a/specifications/amrita/systems-biology-virtual-lab/systems-biology-virtual-lab.json b/specifications/amrita/systems-biology-virtual-lab/systems-biology-virtual-lab.json deleted file mode 100644 index 729017f..0000000 --- a/specifications/amrita/systems-biology-virtual-lab/systems-biology-virtual-lab.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "lab": { - "id": "biotech07", - "name": "systems biology virtual lab", - "discipline_id": "biotech", - "institute_id": "amrita", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlab.amrita.edu/index.php?sub=3&brch=276" - } - ], - "integration_level": 4, - "overview": "This lab deals with systems biology virtual lab", - "assets": [], - "sections": [ - { - "name": "Introduction" - }, - { - "experiments" : [ - "e98835", - "e98834", - "e98833", - "e98832", - "e98831", - "e98830", - "e98829", - "e98828" - ] - } - ] - } -} diff --git a/specifications/amrita/virtual-electric-circuits-lab-(pilot)/e98713.json b/specifications/amrita/virtual-electric-circuits-lab-(pilot)/e98713.json deleted file mode 100644 index 0d8dccc..0000000 --- a/specifications/amrita/virtual-electric-circuits-lab-(pilot)/e98713.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "experiment": { - "id": "e98713", - "name": "Parallel RC Circuits", - "discipline_id": "phy-sc", - "institute_id": "amrita", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlab.amrita.edu/?sub=1&brch=75&sim=320&cnt=1" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Parallel RC Circuits", - "assets": [], - "sections" : [ - "Theory", - "Procedure", - "Self Evaluation", - "Simulator", - "Assignment", - "Reference", - "Feedback" - ] - } -} diff --git a/specifications/amrita/virtual-electric-circuits-lab-(pilot)/e98714.json b/specifications/amrita/virtual-electric-circuits-lab-(pilot)/e98714.json deleted file mode 100644 index 2c273b7..0000000 --- a/specifications/amrita/virtual-electric-circuits-lab-(pilot)/e98714.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "experiment": { - "id": "e98714", - "name": "Parallel RL Circuits", - "discipline_id": "phy-sc", - "institute_id": "amrita", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlab.amrita.edu/?sub=1&brch=75&sim=322&cnt=1" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Parallel RL Circuits", - "assets": [], - "sections" : [ - "Theory", - "Procedure", - "Self Evaluation", - "Simulator", - "Assignment", - "Reference", - "Feedback" - ] - } -} diff --git a/specifications/amrita/virtual-electric-circuits-lab-(pilot)/e98715.json b/specifications/amrita/virtual-electric-circuits-lab-(pilot)/e98715.json deleted file mode 100644 index 07f5194..0000000 --- a/specifications/amrita/virtual-electric-circuits-lab-(pilot)/e98715.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "experiment": { - "id": "e98715", - "name": "Parallel LCR Circuits", - "discipline_id": "phy-sc", - "institute_id": "amrita", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlab.amrita.edu/?sub=1&brch=75&sim=325&cnt=1" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Parallel LCR Circuits", - "assets": [], - "sections" : [ - "Theory", - "Procedure", - "Self Evaluation", - "Simulator", - "Assignment", - "Reference", - "Feedback" - ] - } -} diff --git a/specifications/amrita/virtual-electric-circuits-lab-(pilot)/e98716.json b/specifications/amrita/virtual-electric-circuits-lab-(pilot)/e98716.json deleted file mode 100644 index 033344a..0000000 --- a/specifications/amrita/virtual-electric-circuits-lab-(pilot)/e98716.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "experiment": { - "id": "e98716", - "name": "Series LC Circuits", - "discipline_id": "phy-sc", - "institute_id": "amrita", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlab.amrita.edu/?sub=1&brch=75&sim=326&cnt=1" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Series LC Circuits", - "assets": [], - "sections" : [ - "Theory", - "Procedure", - "Self Evaluation", - "Simulator", - "Assignment", - "Reference", - "Feedback" - ] - } -} diff --git a/specifications/amrita/virtual-electric-circuits-lab-(pilot)/e98717.json b/specifications/amrita/virtual-electric-circuits-lab-(pilot)/e98717.json deleted file mode 100644 index 075325a..0000000 --- a/specifications/amrita/virtual-electric-circuits-lab-(pilot)/e98717.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "experiment": { - "id": "e98717", - "name": "Series RC Circuits", - "discipline_id": "phy-sc", - "institute_id": "amrita", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlab.amrita.edu/?sub=1&brch=75&sim=328&cnt=1" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Series RC Circuits", - "assets": [], - "sections" : [ - "Theory", - "Procedure", - "Self Evaluation", - "Simulator", - "Assignment", - "Reference", - "Feedback" - ] - } -} diff --git a/specifications/amrita/virtual-electric-circuits-lab-(pilot)/e98718.json b/specifications/amrita/virtual-electric-circuits-lab-(pilot)/e98718.json deleted file mode 100644 index 78149f1..0000000 --- a/specifications/amrita/virtual-electric-circuits-lab-(pilot)/e98718.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "experiment": { - "id": "e98718", - "name": "Kirchhoff’s Laws", - "discipline_id": "phy-sc", - "institute_id": "amrita", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlab.amrita.edu/?sub=1&brch=75&sim=217&cnt=1" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Kirchhoff’s Laws", - "assets": [], - "sections" : [ - "Theory", - "Procedure", - "Self Evaluation", - "Simulator", - "Assignment", - "Reference", - "Feedback" - ] - } -} diff --git a/specifications/amrita/virtual-electric-circuits-lab-(pilot)/e98719.json b/specifications/amrita/virtual-electric-circuits-lab-(pilot)/e98719.json deleted file mode 100644 index f04e042..0000000 --- a/specifications/amrita/virtual-electric-circuits-lab-(pilot)/e98719.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "experiment": { - "id": "e98719", - "name": "Series LCR Circuits", - "discipline_id": "phy-sc", - "institute_id": "amrita", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlab.amrita.edu/?sub=1&brch=75&sim=330&cnt=1" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Series LCR Circuits", - "assets": [], - "sections" : [ - "Theory", - "Procedure", - "Self Evaluation", - "Simulator", - "Assignment", - "Reference", - "Feedback" - ] - } -} diff --git a/specifications/amrita/virtual-electric-circuits-lab-(pilot)/e98720.json b/specifications/amrita/virtual-electric-circuits-lab-(pilot)/e98720.json deleted file mode 100644 index aa4c173..0000000 --- a/specifications/amrita/virtual-electric-circuits-lab-(pilot)/e98720.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "experiment": { - "id": "e98720", - "name": "Norton's theorem", - "discipline_id": "phy-sc", - "institute_id": "amrita", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlab.amrita.edu/?sub=1&brch=75&sim=312&cnt=1" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Norton's theorem", - "assets": [], - "sections" : [ - "Theory", - "Procedure", - "Self Evaluation", - "Simulator", - "Assignment", - "Reference", - "Feedback" - ] - } -} diff --git a/specifications/amrita/virtual-electric-circuits-lab-(pilot)/e98721.json b/specifications/amrita/virtual-electric-circuits-lab-(pilot)/e98721.json deleted file mode 100644 index 051749c..0000000 --- a/specifications/amrita/virtual-electric-circuits-lab-(pilot)/e98721.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "experiment": { - "id": "e98721", - "name": "Series RL Circuits", - "discipline_id": "phy-sc", - "institute_id": "amrita", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlab.amrita.edu/?sub=1&brch=75&sim=332&cnt=1" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Series RL Circuits", - "assets": [], - "sections" : [ - "Theory", - "Procedure", - "Self Evaluation", - "Simulator", - "Assignment", - "Reference", - "Feedback" - ] - } -} diff --git a/specifications/amrita/virtual-electric-circuits-lab-(pilot)/e98722.json b/specifications/amrita/virtual-electric-circuits-lab-(pilot)/e98722.json deleted file mode 100644 index ea3b725..0000000 --- a/specifications/amrita/virtual-electric-circuits-lab-(pilot)/e98722.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "experiment": { - "id": "e98722", - "name": "Thevenin’s Theorem", - "discipline_id": "phy-sc", - "institute_id": "amrita", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlab.amrita.edu/?sub=1&brch=75&sim=313&cnt=1" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Thevenin’s Theorem", - "assets": [], - "sections" : [ - "Theory", - "Procedure", - "Self Evaluation", - "Simulator", - "Assignment", - "Reference", - "Feedback" - ] - } -} diff --git a/specifications/amrita/virtual-electric-circuits-lab-(pilot)/e98723.json b/specifications/amrita/virtual-electric-circuits-lab-(pilot)/e98723.json deleted file mode 100644 index d05cde8..0000000 --- a/specifications/amrita/virtual-electric-circuits-lab-(pilot)/e98723.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "experiment": { - "id": "e98723", - "name": "Parallel LC Circuits", - "discipline_id": "phy-sc", - "institute_id": "amrita", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlab.amrita.edu/?sub=1&brch=75&sim=318&cnt=1" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Parallel LC Circuits", - "assets": [], - "sections" : [ - "Theory", - "Procedure", - "Self Evaluation", - "Simulator", - "Assignment", - "Reference", - "Feedback" - ] - } -} diff --git a/specifications/amrita/virtual-electric-circuits-lab-(pilot)/virtual-electric-circuits-lab-(pilot).json b/specifications/amrita/virtual-electric-circuits-lab-(pilot)/virtual-electric-circuits-lab-(pilot).json deleted file mode 100644 index 5e6dbdd..0000000 --- a/specifications/amrita/virtual-electric-circuits-lab-(pilot)/virtual-electric-circuits-lab-(pilot).json +++ /dev/null @@ -1,39 +0,0 @@ -{ - "lab": { - "id": "no_lab_id", - "name": "virtual electric circuits lab (pilot)", - "discipline_id": "phy-sc", - "institute_id": "amrita", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlab.amrita.edu/?sub=1&brch=75" - } - ], - "integration_level": 4, - "overview": "This lab deals with virtual electric circuits lab (pilot)", - "assets": [], - "sections": [ - { - "name": "Introduction" - }, - { - "experiments" : [ - "e98713", - "e98723", - "e98722", - "e98721", - "e98720", - "e98719", - "e98718", - "e98717", - "e98716", - "e98715", - "e98714" - ] - } - ] - } -} diff --git a/specifications/amrita/wireless-sensor-network-remote-triggered-lab/e98702.json b/specifications/amrita/wireless-sensor-network-remote-triggered-lab/e98702.json deleted file mode 100644 index 7041cf5..0000000 --- a/specifications/amrita/wireless-sensor-network-remote-triggered-lab/e98702.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "experiment": { - "id": "e98702", - "name": "Time Synchronization", - "discipline_id": "Computer sciences", - "institute_id": "amrita", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlab.amrita.edu/index.php?sub=78&brch=256&sim=1544&cnt=1" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Time Synchronization", - "assets": [], - "sections" : [ - "Theory", - "Procedure", - "Self Evaluation", - "Animation", - "Remote Panel", - "Assignment", - "Reference", - "Feedback" - ] - } -} diff --git a/specifications/amrita/wireless-sensor-network-remote-triggered-lab/e98703.json b/specifications/amrita/wireless-sensor-network-remote-triggered-lab/e98703.json deleted file mode 100644 index cb2b3c6..0000000 --- a/specifications/amrita/wireless-sensor-network-remote-triggered-lab/e98703.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "experiment": { - "id": "e98703", - "name": "Clustering Algorithms", - "discipline_id": "Computer sciences", - "institute_id": "amrita", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlab.amrita.edu/index.php?sub=78&brch=256&sim=1558&cnt=1" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Clustering Algorithms", - "assets": [], - "sections" : [ - "Theory", - "Procedure", - "Self Evaluation", - "Animation", - "Remote panel", - "Assignment", - "Reference", - "Feedback" - ] - } -} diff --git a/specifications/amrita/wireless-sensor-network-remote-triggered-lab/e98704.json b/specifications/amrita/wireless-sensor-network-remote-triggered-lab/e98704.json deleted file mode 100644 index 78adc58..0000000 --- a/specifications/amrita/wireless-sensor-network-remote-triggered-lab/e98704.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "experiment": { - "id": "e98704", - "name": "Wireless Sensor Network Data Acquisition, Transmission, and Aggregation", - "discipline_id": "Computer sciences", - "institute_id": "amrita", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlab.amrita.edu/index.php?sub=78&brch=256&sim=1557&cnt=1" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Wireless Sensor Network Data Acquisition, Transmission, and Aggregation", - "assets": [], - "sections" : [ - "Theory", - "Procedure", - "Self Evaluation", - "Animation", - "Remote panel", - "Assignment", - "Reference", - "Feedback" - ] - } -} diff --git a/specifications/amrita/wireless-sensor-network-remote-triggered-lab/e98705.json b/specifications/amrita/wireless-sensor-network-remote-triggered-lab/e98705.json deleted file mode 100644 index 9c5c1e6..0000000 --- a/specifications/amrita/wireless-sensor-network-remote-triggered-lab/e98705.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "experiment": { - "id": "e98705", - "name": "Wireless Propagation", - "discipline_id": "Computer sciences", - "institute_id": "amrita", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlab.amrita.edu/index.php?sub=78&brch=256&sim=1363&cnt=1" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Wireless Propagation", - "assets": [], - "sections" : [ - "Theory", - "Procedure", - "Self Evaluation", - "Animation", - "Remote Panel", - "Assignment", - "Reference", - "Feedback" - ] - } -} diff --git a/specifications/amrita/wireless-sensor-network-remote-triggered-lab/e98706.json b/specifications/amrita/wireless-sensor-network-remote-triggered-lab/e98706.json deleted file mode 100644 index 272e314..0000000 --- a/specifications/amrita/wireless-sensor-network-remote-triggered-lab/e98706.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "experiment": { - "id": "e98706", - "name": "Data Collection Frequency and Tx. vs. Power Consumption", - "discipline_id": "Computer sciences", - "institute_id": "amrita", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlab.amrita.edu/index.php?sub=78&brch=256&sim=1400&cnt=1" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Data Collection Frequency and Tx. vs. Power Consumption", - "assets": [], - "sections" : [ - "Theory", - "Procedure", - "Self Evaluation", - "RemotePanel", - "Assignment", - "Reference", - "Feedback" - ] - } -} diff --git a/specifications/amrita/wireless-sensor-network-remote-triggered-lab/e98707.json b/specifications/amrita/wireless-sensor-network-remote-triggered-lab/e98707.json deleted file mode 100644 index 0f2da6f..0000000 --- a/specifications/amrita/wireless-sensor-network-remote-triggered-lab/e98707.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "experiment": { - "id": "e98707", - "name": "Sensor Data Acquisition", - "discipline_id": "Computer sciences", - "institute_id": "amrita", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlab.amrita.edu/index.php?sub=78&brch=256&sim=1394&cnt=1" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Sensor Data Acquisition", - "assets": [], - "sections" : [ - "Theory", - "Procedure", - "Self Evaluation", - "Animation", - "Simulator", - "Remote Panel", - "Assignment", - "Reference", - "Feedback" - ] - } -} diff --git a/specifications/amrita/wireless-sensor-network-remote-triggered-lab/e98708.json b/specifications/amrita/wireless-sensor-network-remote-triggered-lab/e98708.json deleted file mode 100644 index 319fc01..0000000 --- a/specifications/amrita/wireless-sensor-network-remote-triggered-lab/e98708.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "experiment": { - "id": "e98708", - "name": "Duty Cycle vs. Power Consumption", - "discipline_id": "Computer sciences", - "institute_id": "amrita", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlab.amrita.edu/index.php?sub=78&brch=256&sim=1397&cnt=3079" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Duty Cycle vs. Power Consumption", - "assets": [], - "sections" : [ - "Theory", - "Procedure", - "Self Evaluation", - "Animation", - "Simulator", - "Remote Panel", - "Assignment", - "Reference" - ] - } -} diff --git a/specifications/amrita/wireless-sensor-network-remote-triggered-lab/e98709.json b/specifications/amrita/wireless-sensor-network-remote-triggered-lab/e98709.json deleted file mode 100644 index e9d1661..0000000 --- a/specifications/amrita/wireless-sensor-network-remote-triggered-lab/e98709.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "experiment": { - "id": "e98709", - "name": "Range & Connectivity vs. Antenna Power", - "discipline_id": "Computer sciences", - "institute_id": "amrita", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlab.amrita.edu/index.php?sub=78&brch=256&sim=1362&cnt=1" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Range & Connectivity vs. Antenna Power", - "assets": [], - "sections" : [ - "Theory", - "Procedure", - "Self Evaluation", - "Animation", - "Simulator", - "Remote Panel", - "Assignment", - "Reference" - ] - } -} diff --git a/specifications/amrita/wireless-sensor-network-remote-triggered-lab/e98710.json b/specifications/amrita/wireless-sensor-network-remote-triggered-lab/e98710.json deleted file mode 100644 index d0f37e4..0000000 --- a/specifications/amrita/wireless-sensor-network-remote-triggered-lab/e98710.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "experiment": { - "id": "e98710", - "name": "Send and Receive", - "discipline_id": "Computer sciences", - "institute_id": "amrita", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlab.amrita.edu/index.php?sub=78&brch=256&sim=1289&cnt=1" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Send and Receive", - "assets": [], - "sections" : [ - "Theory", - "Procedure", - "Self Evaluation", - "Simulation", - "Remote Panel", - "Assignment", - "Reference", - "Feedback" - ] - } -} diff --git a/specifications/amrita/wireless-sensor-network-remote-triggered-lab/e98711.json b/specifications/amrita/wireless-sensor-network-remote-triggered-lab/e98711.json deleted file mode 100644 index b3c8013..0000000 --- a/specifications/amrita/wireless-sensor-network-remote-triggered-lab/e98711.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "experiment": { - "id": "e98711", - "name": "nesC Programming", - "discipline_id": "Computer sciences", - "institute_id": "amrita", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlab.amrita.edu/index.php?sub=78&brch=256&sim=1288&cnt=1" - } - ], - "integration_level": 4, - "overview": "This experiments deals with nesC Programming", - "assets": [], - "sections" : [ - "Theory", - "Procedure", - "Self Evaluation", - "Simulator", - "Remote Panel", - "Assignment", - "Reference", - "Feedback" - ] - } -} diff --git a/specifications/amrita/wireless-sensor-network-remote-triggered-lab/e98712.json b/specifications/amrita/wireless-sensor-network-remote-triggered-lab/e98712.json deleted file mode 100644 index c8c61a2..0000000 --- a/specifications/amrita/wireless-sensor-network-remote-triggered-lab/e98712.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "experiment": { - "id": "e98712", - "name": "Introduction to WSN", - "discipline_id": "Computer sciences", - "institute_id": "amrita", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlab.amrita.edu/index.php?sub=78&brch=256&sim=1287&cnt=1" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Introduction to WSN", - "assets": [], - "sections" : [ - "Theory", - "Procedure", - "Self Evaluation", - "Feedback", - "Reference" - ] - } -} diff --git a/specifications/amrita/wireless-sensor-network-remote-triggered-lab/e98966.json b/specifications/amrita/wireless-sensor-network-remote-triggered-lab/e98966.json deleted file mode 100644 index 03d6a81..0000000 --- a/specifications/amrita/wireless-sensor-network-remote-triggered-lab/e98966.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "experiment": { - "id": "e98966", - "name": "Wireless Sensor Network", - "discipline_id": "Computer sciences", - "institute_id": "amrita", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlab.amrita.edu/index.php?sub=78&brch=256&sim=1555&cnt=1" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Wireless Sensor Network", - "assets": [], - "sections" : [ - "Theory", - "Procedure", - "Self Evaluation", - "Animation", - "Remote panel", - "Assignment", - "Reference", - "Feedback" - ] - } -} diff --git a/specifications/amrita/wireless-sensor-network-remote-triggered-lab/wireless-sensor-network-remote-triggered-lab.json b/specifications/amrita/wireless-sensor-network-remote-triggered-lab/wireless-sensor-network-remote-triggered-lab.json deleted file mode 100644 index 36250d6..0000000 --- a/specifications/amrita/wireless-sensor-network-remote-triggered-lab/wireless-sensor-network-remote-triggered-lab.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "lab": { - "id": "no_lab_id", - "name": "wireless sensor network remote triggered lab", - "discipline_id": "Computer sciences", - "institute_id": "amrita", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlab.amrita.edu/index.php?sub=78&brch=256" - } - ], - "integration_level": 4, - "overview": "This lab deals with wireless sensor network remote triggered lab", - "assets": [], - "sections": [ - { - "name": "Introduction" - }, - { - "experiments" : [ - "e98712", - "e98711", - "e98710", - "e98709", - "e98708", - "e98707", - "e98706", - "e98705", - "e98966", - "e98704", - "e98703", - "e98702" - ] - } - ] - } -} diff --git a/specifications/coep/fpga-and-embedded-system-lab/E98637.json b/specifications/coep/fpga-and-embedded-system-lab/E98637.json deleted file mode 100644 index 71b0c46..0000000 --- a/specifications/coep/fpga-and-embedded-system-lab/E98637.json +++ /dev/null @@ -1,22 +0,0 @@ -{"experiment": {"id": "e98637", - "name": "Designing of Reconfigurable Architecture for PID Controller", - "discipline_id": "cse", - "institute_id": "COEP", - "developers": [{"name":"dev1", "email": "dev1_id"}, - {"name":"dev2", "email": "dev2_id"}], - "hosting_info": [{"hosting_status": "hosted", "hosted_on": "institute", "hosted_url": "http://coep.vlab.co.in/index.php?sub=29&brch=88&sim=1312&cnt=2723"}], - "integration_level": "4", - "assets": [{"asset_type": "images", "path": "vlabs.ac.in/images/static/logo.png"}, - {"asset_type": "videos", "path": "vlabs.ac.in/video/abc.mkv"}], - "sections" : ["Aim", - "Pre Test", - "Theory", - "Procedure and Demo", - "Simulator", - "Post Test", - "Assignment", - "Reference", - "People", - "Feedback"] - } -} diff --git a/specifications/coep/fpga-and-embedded-system-lab/dump_json_to_lds.py b/specifications/coep/fpga-and-embedded-system-lab/dump_json_to_lds.py deleted file mode 100644 index 78c74fa..0000000 --- a/specifications/coep/fpga-and-embedded-system-lab/dump_json_to_lds.py +++ /dev/null @@ -1,44 +0,0 @@ - -import os -import os.path -import json -import requests -import glob - -URL= 'http://localhost:5000' -json_path_list = [] - -def post_lab_spec(file_path): - - with open(file_path) as json_file: - print file_path - data = json.load(json_file) - if 'lab' in data.keys(): - end_point = "/labs" - if 'experiment' in data.keys(): - end_point = "/experiments" - - data['key'] = 'defaultkey' - APP_URL = URL + end_point - headers = {'Content-Type': 'application/json'} - try: - response = requests.post(APP_URL, data = json.dumps(data), - headers=headers) - if response.status_code == 200: - print "Added json data : " + file_path - else: - print "Errore in adding json file " + file_path + " due to " + response.text - except Exception as e: - print str(e) -try: - exp_file_list = glob.glob(os.getcwd() + "/e9*.json") - lab_file_list = glob.glob(os.getcwd() + "/[!e9]*.json") - - for filename in exp_file_list: - json_path_list.append(filename) -except Exception as e: - print str(e) - -for file_path in json_path_list: - post_lab_spec(file_path) -post_lab_spec(lab_file_list[0]) diff --git a/specifications/coep/fpga-and-embedded-system-lab/e98637.json b/specifications/coep/fpga-and-embedded-system-lab/e98637.json deleted file mode 100644 index 50c2ec8..0000000 --- a/specifications/coep/fpga-and-embedded-system-lab/e98637.json +++ /dev/null @@ -1,41 +0,0 @@ -{ - "experiment": { - "id": "e98637", - "name": "Designing of Reconfigurable Architecture for PID Controller", - "discipline_id": "cse", - "institute_id": "COEP", - "developers": [ - { - "name": "D. N. Sonawane", - "email": "dns.instru@coep.ac.in" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://coep.vlab.co.in/index.php?sub=29&brch=88&sim=1312&cnt=2723" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Designing of Reconfigurable Architecture for PID Controller", - "assets": [ - { - "asset_type": "sources", - "path": "https://github.com/Virtual-Labs/fpga-and-embedded-systems-lab-coep" - } - ], - "sections" : [ - "Aim", - "Pre Test", - "Theory", - "Procedure and Demo", - "Simulator", - "Post Test", - "Assignment", - "Reference", - "People", - "Feedback" - ] - } -} diff --git a/specifications/coep/fpga-and-embedded-system-lab/e98638.json b/specifications/coep/fpga-and-embedded-system-lab/e98638.json deleted file mode 100644 index d516af1..0000000 --- a/specifications/coep/fpga-and-embedded-system-lab/e98638.json +++ /dev/null @@ -1,41 +0,0 @@ -{ - "experiment": { - "id": "e98638", - "name": "Architectural Design Approach", - "discipline_id": "cse", - "institute_id": "COEP", - "developers": [ - { - "name": "D. N. Sonawane", - "email": "dns.instru@coep.ac.in" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://coep.vlab.co.in/index.php?sub=29&brch=88&sim=1036&cnt=1886" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Architectural Design Approach", - "assets": [ - { - "asset_type": "sources", - "path": "https://github.com/Virtual-Labs/fpga-and-embedded-systems-lab-coep" - } - ], - "sections" : [ - "Aim", - "Pre Test", - "Theory", - "Procedure and Demo", - "Simulator", - "Post Test", - "Assignment", - "References", - "People", - "Feedback" - ] - } -} diff --git a/specifications/coep/fpga-and-embedded-system-lab/e98639.json b/specifications/coep/fpga-and-embedded-system-lab/e98639.json deleted file mode 100644 index a91fbd9..0000000 --- a/specifications/coep/fpga-and-embedded-system-lab/e98639.json +++ /dev/null @@ -1,41 +0,0 @@ -{ - "experiment": { - "id": "e98639", - "name": "Pulse-Width Modulation (PWM) Generation Using FPGA", - "discipline_id": "cse", - "institute_id": "COEP", - "developers": [ - { - "name": "D. N. Sonawane", - "email": "dns.instru@coep.ac.in" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://coep.vlab.co.in/index.php?sub=29&brch=88&sim=1356&cnt=2834" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Pulse-Width Modulation (PWM) Generation Using FPGA", - "assets": [ - { - "asset_type": "sources", - "path": "https://github.com/Virtual-Labs/fpga-and-embedded-systems-lab-coep" - } - ], - "sections" : [ - "Aim", - "Pre Test", - "Theory", - "Procedure and Demo", - "Simulator", - "Post Test", - "Assignment", - "Reference", - "People", - "Feedback" - ] - } -} diff --git a/specifications/coep/fpga-and-embedded-system-lab/e98640.json b/specifications/coep/fpga-and-embedded-system-lab/e98640.json deleted file mode 100644 index 2220817..0000000 --- a/specifications/coep/fpga-and-embedded-system-lab/e98640.json +++ /dev/null @@ -1,41 +0,0 @@ -{ - "experiment": { - "id": "e98640", - "name": "Linear Equation Solver", - "discipline_id": "cse", - "institute_id": "COEP", - "developers": [ - { - "name": "D. N. Sonawane", - "email": "dns.instru@coep.ac.in" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://coep.vlab.co.in/index.php?sub=29&brch=88&sim=482&cnt=708" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Linear Equation Solver", - "assets": [ - { - "asset_type": "sources", - "path": "https://github.com/Virtual-Labs/fpga-and-embedded-systems-lab-coep" - } - ], - "sections" : [ - "Aim", - "Pre Test", - "Theory", - "Procedure and Demo", - "Simulation", - "Post Test", - "Assignment", - "References", - "People", - "Feedback" - ] - } -} diff --git a/specifications/coep/fpga-and-embedded-system-lab/e98641.json b/specifications/coep/fpga-and-embedded-system-lab/e98641.json deleted file mode 100644 index 3c3cafe..0000000 --- a/specifications/coep/fpga-and-embedded-system-lab/e98641.json +++ /dev/null @@ -1,41 +0,0 @@ -{ - "experiment": { - "id": "e98641", - "name": "Linear Matrix Algebra", - "discipline_id": "cse", - "institute_id": "COEP", - "developers": [ - { - "name": "D. N. Sonawane", - "email": "dns.instru@coep.ac.in" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://coep.vlab.co.in/index.php?sub=29&brch=88&sim=481&cnt=699" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Linear Matrix Algebra", - "assets": [ - { - "asset_type": "sources", - "path": "https://github.com/Virtual-Labs/fpga-and-embedded-systems-lab-coep" - } - ], - "sections" : [ - "Aim", - "Pre Test", - "Theory", - "Procedure and Demo", - "Simulation", - "Post Test", - "Assignment", - "References", - "People", - "Feedback" - ] - } -} diff --git a/specifications/coep/fpga-and-embedded-system-lab/e98642.json b/specifications/coep/fpga-and-embedded-system-lab/e98642.json deleted file mode 100644 index 1c83e17..0000000 --- a/specifications/coep/fpga-and-embedded-system-lab/e98642.json +++ /dev/null @@ -1,41 +0,0 @@ -{ - "experiment": { - "id": "e98642", - "name": "Logarithmic Number System (LNS) Based Arithmetic Operations", - "discipline_id": "cse", - "institute_id": "COEP", - "developers": [ - { - "name": "D. N. Sonawane", - "email": "dns.instru@coep.ac.in" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://coep.vlab.co.in/index.php?sub=29&brch=88&sim=1353&cnt=2830" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Logarithmic Number System (LNS) Based Arithmetic Operations", - "assets": [ - { - "asset_type": "sources", - "path": "https://github.com/Virtual-Labs/fpga-and-embedded-systems-lab-coep" - } - ], - "sections" : [ - "Aim", - "Pre Test", - "Theory", - "Procedure and Demo", - "Simulator", - "Post Test", - "Assignment", - "Reference", - "People", - "Feedback" - ] - } -} diff --git a/specifications/coep/fpga-and-embedded-system-lab/e98643.json b/specifications/coep/fpga-and-embedded-system-lab/e98643.json deleted file mode 100644 index 028b462..0000000 --- a/specifications/coep/fpga-and-embedded-system-lab/e98643.json +++ /dev/null @@ -1,41 +0,0 @@ -{ - "experiment": { - "id": "e98643", - "name": "Floating Point Arithmetic Operations", - "discipline_id": "cse", - "institute_id": "COEP", - "developers": [ - { - "name": "D. N. Sonawane", - "email": "dns.instru@coep.ac.in" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://coep.vlab.co.in/index.php?sub=29&brch=88&sim=500&cnt=2177" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Floating Point Arithmetic Operations", - "assets": [ - { - "asset_type": "sources", - "path": "https://github.com/Virtual-Labs/fpga-and-embedded-systems-lab-coep" - } - ], - "sections" : [ - "Aim", - "Pre Test", - "Theory", - "Procedure and Demo", - "Simulator", - "Post Test", - "Assignment", - "References", - "People", - "Feedback" - ] - } -} diff --git a/specifications/coep/fpga-and-embedded-system-lab/e98644.json b/specifications/coep/fpga-and-embedded-system-lab/e98644.json deleted file mode 100644 index 109ccae..0000000 --- a/specifications/coep/fpga-and-embedded-system-lab/e98644.json +++ /dev/null @@ -1,41 +0,0 @@ -{ - "experiment": { - "id": "e98644", - "name": "Fixed Point Arithmetic Operations and Logical Operators", - "discipline_id": "cse", - "institute_id": "COEP", - "developers": [ - { - "name": "D. N. Sonawane", - "email": "dns.instru@coep.ac.in" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://coep.vlab.co.in/index.php?sub=29&brch=88&sim=229&cnt=345" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Fixed Point Arithmetic Operations and Logical Operators", - "assets": [ - { - "asset_type": "sources", - "path": "https://github.com/Virtual-Labs/fpga-and-embedded-systems-lab-coep" - } - ], - "sections" : [ - "Aim", - "Pre Test", - "Theory", - "Procedure and Demo", - "Simulation", - "Post Test", - "Assignment", - "References", - "People", - "Feedback" - ] - } -} diff --git a/specifications/coep/fpga-and-embedded-system-lab/e98645.json b/specifications/coep/fpga-and-embedded-system-lab/e98645.json deleted file mode 100644 index 9216abb..0000000 --- a/specifications/coep/fpga-and-embedded-system-lab/e98645.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "experiment": { - "id": "e98645", - "name": "Introduction to Verilog Abstraction Levels", - "discipline_id": "cse", - "institute_id": "COEP", - "developers": [ - { - "name": "D. N. Sonawane", - "email": "dns.instru@coep.ac.in" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://coep.vlab.co.in/index.php?sub=29&brch=88&sim=1407&cnt=3001" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Introduction to Verilog Abstraction Levels", - "assets": [ - { - "asset_type": "sources", - "path": "https://github.com/Virtual-Labs/fpga-and-embedded-systems-lab-coep" - } - ], - "sections" : [ - "Aim", - "Pre Test", - "Theory", - "Procedure and Demo", - "Simulation", - "Post Test", - "Reference", - "People", - "Feedback" - ] - } -} diff --git a/specifications/coep/fpga-and-embedded-system-lab/e98646.json b/specifications/coep/fpga-and-embedded-system-lab/e98646.json deleted file mode 100644 index 299bd6f..0000000 --- a/specifications/coep/fpga-and-embedded-system-lab/e98646.json +++ /dev/null @@ -1,41 +0,0 @@ -{ - "experiment": { - "id": "e98646", - "name": "Introduction to FPGA and Verilog Programming", - "discipline_id": "cse", - "institute_id": "COEP", - "developers": [ - { - "name": "D. N. Sonawane", - "email": "dns.instru@coep.ac.in" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://coep.vlab.co.in/index.php?sub=29&brch=88&sim=228&cnt=334" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Introduction to FPGA and Verilog Programming", - "assets": [ - { - "asset_type": "sources", - "path": "https://github.com/Virtual-Labs/fpga-and-embedded-systems-lab-coep" - } - ], - "sections" : [ - "Aim", - "Pre Test", - "Theory", - "Procedure and Demo", - "Simulation", - "Post Test", - "Assignment", - "References", - "People", - "Feedback" - ] - } -} diff --git a/specifications/coep/fpga-and-embedded-system-lab/fpga-and-embedded-system-lab.json b/specifications/coep/fpga-and-embedded-system-lab/fpga-and-embedded-system-lab.json deleted file mode 100644 index 26146f9..0000000 --- a/specifications/coep/fpga-and-embedded-system-lab/fpga-and-embedded-system-lab.json +++ /dev/null @@ -1,48 +0,0 @@ -{ - "lab": { - "id": "cse12", - "name": "fpga and embedded system lab", - "discipline_id": "cse", - "institute_id": "COEP", - "developers": [ - { - "name": "D. N. Sonawane", - "email": "dns.instru@coep.ac.in" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://coep.vlab.co.in/index.php?sub=29" - } - ], - "integration_level": 4, - "overview": "This lab deals with fpga and embedded system lab", - "assets": [ - { - "asset_type": "sources", - "path": "https://github.com/Virtual-Labs/fpga-and-embedded-systems-lab-coep" - } - ], - "sections": [ - { - "name": "Introduction" - }, - { - "experiments" : [ - "e98646", - "e98645", - "e98644", - "e98643", - "e98642", - "e98641", - "e98640", - "e98639", - "e98638", - "e98637" - ] - } - ] - } -} diff --git a/specifications/dayalbagh/analytical-lab/analytical-lab.json b/specifications/dayalbagh/analytical-lab/analytical-lab.json deleted file mode 100644 index cb976fa..0000000 --- a/specifications/dayalbagh/analytical-lab/analytical-lab.json +++ /dev/null @@ -1,41 +0,0 @@ -{ - "lab": { - "id": "ai-dei", - "name": "analytical lab", - "discipline_id": "chem", - "institute_id": "dei", - "developers": [ - { - "name": "Prof. S. P. Satsangee", - "email": "deiusic@gmail.com" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://220.227.100.58/" - } - ], - "integration_level": 4, - "overview": "This lab deals with analytical lab", - "assets": [], - "sections": [ - { - "name": "Introduction" - }, - { - "experiments" : [ - "e99184", - "e99183", - "e99182", - "e99181", - "e99180", - "e99179", - "e99178", - "e99177" - ] - } - ] - } -} diff --git a/specifications/dayalbagh/analytical-lab/dump_json_to_lds.py b/specifications/dayalbagh/analytical-lab/dump_json_to_lds.py deleted file mode 100644 index 78c74fa..0000000 --- a/specifications/dayalbagh/analytical-lab/dump_json_to_lds.py +++ /dev/null @@ -1,44 +0,0 @@ - -import os -import os.path -import json -import requests -import glob - -URL= 'http://localhost:5000' -json_path_list = [] - -def post_lab_spec(file_path): - - with open(file_path) as json_file: - print file_path - data = json.load(json_file) - if 'lab' in data.keys(): - end_point = "/labs" - if 'experiment' in data.keys(): - end_point = "/experiments" - - data['key'] = 'defaultkey' - APP_URL = URL + end_point - headers = {'Content-Type': 'application/json'} - try: - response = requests.post(APP_URL, data = json.dumps(data), - headers=headers) - if response.status_code == 200: - print "Added json data : " + file_path - else: - print "Errore in adding json file " + file_path + " due to " + response.text - except Exception as e: - print str(e) -try: - exp_file_list = glob.glob(os.getcwd() + "/e9*.json") - lab_file_list = glob.glob(os.getcwd() + "/[!e9]*.json") - - for filename in exp_file_list: - json_path_list.append(filename) -except Exception as e: - print str(e) - -for file_path in json_path_list: - post_lab_spec(file_path) -post_lab_spec(lab_file_list[0]) diff --git a/specifications/dayalbagh/analytical-lab/e99177.json b/specifications/dayalbagh/analytical-lab/e99177.json deleted file mode 100644 index b7f4fc0..0000000 --- a/specifications/dayalbagh/analytical-lab/e99177.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "experiment": { - "id": "e99177", - "name": "Fabrication of Plant modified Electrodes. (Not experimental)", - "discipline_id": "chem", - "institute_id": "dei", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://220.227.100.58/Experiments/onlineExperiments/Experiment8/introduction.aspx" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Fabrication of Plant modified Electrodes. (Not experimental)", - "assets": [], - "sections" : [ - "Introduction" - ] - } -} diff --git a/specifications/dayalbagh/analytical-lab/e99178.json b/specifications/dayalbagh/analytical-lab/e99178.json deleted file mode 100644 index b95da8b..0000000 --- a/specifications/dayalbagh/analytical-lab/e99178.json +++ /dev/null @@ -1,37 +0,0 @@ -{ - "experiment": { - "id": "e99178", - "name": "Measurement of electrode impedance by Electrochemical Impedance Spectroscopy.", - "discipline_id": "chem", - "institute_id": "dei", - "developers": [ - { - "name": "Prof. S. P. Satsangee", - "email": "deiusic@gmail.com" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://220.227.100.58/Experiments/onlineExperiments/Experiment7/introduction.aspx" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Measurement of electrode impedance by Electrochemical Impedance Spectroscopy.", - "assets": [], - "sections" : [ - "Introduction", - "Setup", - "Sample", - "Procedure", - "Animate", - "Perform", - "Data Analysis", - "Quiz", - "Video", - "Live View", - "References" - ] - } -} diff --git a/specifications/dayalbagh/analytical-lab/e99179.json b/specifications/dayalbagh/analytical-lab/e99179.json deleted file mode 100644 index b8ccf18..0000000 --- a/specifications/dayalbagh/analytical-lab/e99179.json +++ /dev/null @@ -1,37 +0,0 @@ -{ - "experiment": { - "id": "e99179", - "name": "Electrochemical study of ferri/ferro system with MUX MULTI4 Module.", - "discipline_id": "chem", - "institute_id": "dei", - "developers": [ - { - "name": "Prof. S. P. Satsangee", - "email": "deiusic@gmail.com" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://220.227.100.58/Experiments/onlineExperiments/Experiment6/introduction.aspx" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Electrochemical study of ferri/ferro system with MUX MULTI4 Module.", - "assets": [], - "sections" : [ - "Introduction", - "Setup", - "Sample", - "Procedure", - "Animate", - "Perform", - "Data Analysis", - "Quiz", - "Video", - "Live View", - "References" - ] - } -} diff --git a/specifications/dayalbagh/analytical-lab/e99180.json b/specifications/dayalbagh/analytical-lab/e99180.json deleted file mode 100644 index 6107a38..0000000 --- a/specifications/dayalbagh/analytical-lab/e99180.json +++ /dev/null @@ -1,37 +0,0 @@ -{ - "experiment": { - "id": "e99180", - "name": "Simultaneous Determination Of Heavy Metals In Water Samples Using Boron Doped Diamond Electrode.", - "discipline_id": "chem", - "institute_id": "dei", - "developers": [ - { - "name": "Prof. S. P. Satsangee", - "email": "deiusic@gmail.com" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://220.227.100.58/Experiments/onlineExperiments/Experiment5/introduction.aspx" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Simultaneous Determination Of Heavy Metals In Water Samples Using Boron Doped Diamond Electrode.", - "assets": [], - "sections" : [ - "Introduction", - "Setup", - "Sample", - "Procedure", - "Animate", - "Perform", - "Data Analysis", - "Quiz", - "Video", - "Live View", - "References" - ] - } -} diff --git a/specifications/dayalbagh/analytical-lab/e99181.json b/specifications/dayalbagh/analytical-lab/e99181.json deleted file mode 100644 index 87cd93d..0000000 --- a/specifications/dayalbagh/analytical-lab/e99181.json +++ /dev/null @@ -1,37 +0,0 @@ -{ - "experiment": { - "id": "e99181", - "name": "Electrochemical Study of Acetaminophen in Paracetamol Tablet.", - "discipline_id": "chem", - "institute_id": "dei", - "developers": [ - { - "name": "Prof. S. P. Satsangee", - "email": "deiusic@gmail.com" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://220.227.100.58/Experiments/onlineExperiments/Experiment4/introduction.aspx" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Electrochemical Study of Acetaminophen in Paracetamol Tablet.", - "assets": [], - "sections" : [ - "Introduction", - "Setup", - "Sample", - "Procedure", - "Animate", - "Perform", - "Data Analysis", - "Quiz", - "Video", - "Live View", - "References" - ] - } -} diff --git a/specifications/dayalbagh/analytical-lab/e99182.json b/specifications/dayalbagh/analytical-lab/e99182.json deleted file mode 100644 index a504c0f..0000000 --- a/specifications/dayalbagh/analytical-lab/e99182.json +++ /dev/null @@ -1,37 +0,0 @@ -{ - "experiment": { - "id": "e99182", - "name": "Study of Electrochemical behaviour of Ascorbic Acid by CNT Electrode.", - "discipline_id": "chem", - "institute_id": "dei", - "developers": [ - { - "name": "Prof. S. P. Satsangee", - "email": "deiusic@gmail.com" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://220.227.100.58/Experiments/onlineExperiments/Experiment3/introduction.aspx" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Study of Electrochemical behaviour of Ascorbic Acid by CNT Electrode.", - "assets": [], - "sections" : [ - "Introduction", - "Setup", - "Sample", - "Procedure", - "Animate", - "Perform", - "Data Analysis", - "Quiz", - "Video", - "Live View", - "References" - ] - } -} diff --git a/specifications/dayalbagh/analytical-lab/e99183.json b/specifications/dayalbagh/analytical-lab/e99183.json deleted file mode 100644 index 5d2bd12..0000000 --- a/specifications/dayalbagh/analytical-lab/e99183.json +++ /dev/null @@ -1,37 +0,0 @@ -{ - "experiment": { - "id": "e99183", - "name": "Determination of Heavy Metals in Yamuna River Water by Differential Pulse Anodic Stripping Voltammetry.", - "discipline_id": "chem", - "institute_id": "dei", - "developers": [ - { - "name": "Prof. S. P. Satsangee", - "email": "deiusic@gmail.com" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://220.227.100.58/Experiments/onlineExperiments/Experiment2/introduction.aspx" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Determination of Heavy Metals in Yamuna River Water by Differential Pulse Anodic Stripping Voltammetry.", - "assets": [], - "sections" : [ - "Introduction", - "Setup", - "Sample", - "Procedure", - "Animate", - "Perform", - "Data Analysis", - "Quiz", - "Video", - "Live View", - "References" - ] - } -} diff --git a/specifications/dayalbagh/analytical-lab/e99184.json b/specifications/dayalbagh/analytical-lab/e99184.json deleted file mode 100644 index 422ac91..0000000 --- a/specifications/dayalbagh/analytical-lab/e99184.json +++ /dev/null @@ -1,37 +0,0 @@ -{ - "experiment": { - "id": "e99184", - "name": "Introduction to Electrochemical Technique-Cyclic Voltammetry of Ferricyanide System.", - "discipline_id": "chem", - "institute_id": "dei", - "developers": [ - { - "name": "Prof. S. P. Satsangee", - "email": "deiusic@gmail.com" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://220.227.100.58/Experiments/onlineExperiments/Experiment1/introduction.aspx" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Introduction to Electrochemical Technique-Cyclic Voltammetry of Ferricyanide System.", - "assets": [], - "sections" : [ - "Introduction", - "Setup", - "Sample", - "Procedure", - "Animate", - "Perform", - "Data Analysis", - "Quiz", - "Video", - "Live View", - "References" - ] - } -} diff --git a/specifications/dayalbagh/virtual-advanced-lab-for-interactive-design-and-test-in-electronics/dump_json_to_lds.py b/specifications/dayalbagh/virtual-advanced-lab-for-interactive-design-and-test-in-electronics/dump_json_to_lds.py deleted file mode 100644 index 78c74fa..0000000 --- a/specifications/dayalbagh/virtual-advanced-lab-for-interactive-design-and-test-in-electronics/dump_json_to_lds.py +++ /dev/null @@ -1,44 +0,0 @@ - -import os -import os.path -import json -import requests -import glob - -URL= 'http://localhost:5000' -json_path_list = [] - -def post_lab_spec(file_path): - - with open(file_path) as json_file: - print file_path - data = json.load(json_file) - if 'lab' in data.keys(): - end_point = "/labs" - if 'experiment' in data.keys(): - end_point = "/experiments" - - data['key'] = 'defaultkey' - APP_URL = URL + end_point - headers = {'Content-Type': 'application/json'} - try: - response = requests.post(APP_URL, data = json.dumps(data), - headers=headers) - if response.status_code == 200: - print "Added json data : " + file_path - else: - print "Errore in adding json file " + file_path + " due to " + response.text - except Exception as e: - print str(e) -try: - exp_file_list = glob.glob(os.getcwd() + "/e9*.json") - lab_file_list = glob.glob(os.getcwd() + "/[!e9]*.json") - - for filename in exp_file_list: - json_path_list.append(filename) -except Exception as e: - print str(e) - -for file_path in json_path_list: - post_lab_spec(file_path) -post_lab_spec(lab_file_list[0]) diff --git a/specifications/dayalbagh/virtual-advanced-lab-for-interactive-design-and-test-in-electronics/e98636.json b/specifications/dayalbagh/virtual-advanced-lab-for-interactive-design-and-test-in-electronics/e98636.json deleted file mode 100644 index 3987295..0000000 --- a/specifications/dayalbagh/virtual-advanced-lab-for-interactive-design-and-test-in-electronics/e98636.json +++ /dev/null @@ -1,37 +0,0 @@ -{ - "experiment": { - "id": "e98636", - "name": "Half-Wave Rectification", - "discipline_id": "ece", - "institute_id": "dei", - "developers": [ - { - "name": "Dr. C. M. Markan", - "email": "cm.markan@gmail.com" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://evalidate.freehostia.com/diode/halfrectification/halfwaveTheory.html" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Half-Wave Rectification", - "assets": [ - { - "asset_type": "sources", - "path": "https://github.com/Virtual-Labs/evalidate-dei" - } - ], - "sections" : [ - "Theory", - "Procedure", - "Live Experiment", - "Case Study", - "Lab-Report", - "Videos Tutorial" - ] - } -} diff --git a/specifications/dayalbagh/virtual-advanced-lab-for-interactive-design-and-test-in-electronics/e98894.json b/specifications/dayalbagh/virtual-advanced-lab-for-interactive-design-and-test-in-electronics/e98894.json deleted file mode 100644 index 7f17e8c..0000000 --- a/specifications/dayalbagh/virtual-advanced-lab-for-interactive-design-and-test-in-electronics/e98894.json +++ /dev/null @@ -1,37 +0,0 @@ -{ - "experiment": { - "id": "e98894", - "name": "Differentiator", - "discipline_id": "ece", - "institute_id": "dei", - "developers": [ - { - "name": "Dr. C. M. Markan", - "email": "cm.markan@gmail.com" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "https://cp.freehostia.com/login/" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Differentiator", - "assets": [ - { - "asset_type": "sources", - "path": "https://github.com/Virtual-Labs/evalidate-dei" - } - ], - "sections" : [ - "Theory", - "Procedure", - "Live Experiment", - "Case Study", - "Lab-Report", - "Videos Tutorial" - ] - } -} diff --git a/specifications/dayalbagh/virtual-advanced-lab-for-interactive-design-and-test-in-electronics/e98895.json b/specifications/dayalbagh/virtual-advanced-lab-for-interactive-design-and-test-in-electronics/e98895.json deleted file mode 100644 index c4dacb6..0000000 --- a/specifications/dayalbagh/virtual-advanced-lab-for-interactive-design-and-test-in-electronics/e98895.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "experiment": { - "id": "e98895", - "name": "Differential Amplifier", - "discipline_id": "ece", - "institute_id": "dei", - "developers": [ - { - "name": "Dr. C. M. Markan", - "email": "cm.markan@gmail.com" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://evalidate.freehostia.com/op-amp/diffAmplifier/diffAmplifierTheory.html" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Differential Amplifier", - "assets": [ - { - "asset_type": "sources", - "path": "https://github.com/Virtual-Labs/evalidate-dei" - } - ], - "sections" : [ - "" - ] - } -} diff --git a/specifications/dayalbagh/virtual-advanced-lab-for-interactive-design-and-test-in-electronics/e98896.json b/specifications/dayalbagh/virtual-advanced-lab-for-interactive-design-and-test-in-electronics/e98896.json deleted file mode 100644 index c1932c1..0000000 --- a/specifications/dayalbagh/virtual-advanced-lab-for-interactive-design-and-test-in-electronics/e98896.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "experiment": { - "id": "e98896", - "name": "Zener Regulator", - "discipline_id": "ece", - "institute_id": "dei", - "developers": [ - { - "name": "Dr. C. M. Markan", - "email": "cm.markan@gmail.com" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://evalidate.freehostia.com/diode/zener/zenerRegulatorTheory.html" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Zener Regulator", - "assets": [ - { - "asset_type": "sources", - "path": "https://github.com/Virtual-Labs/evalidate-dei" - } - ], - "sections" : [ - "" - ] - } -} diff --git a/specifications/dayalbagh/virtual-advanced-lab-for-interactive-design-and-test-in-electronics/e99017.json b/specifications/dayalbagh/virtual-advanced-lab-for-interactive-design-and-test-in-electronics/e99017.json deleted file mode 100644 index 16bddc2..0000000 --- a/specifications/dayalbagh/virtual-advanced-lab-for-interactive-design-and-test-in-electronics/e99017.json +++ /dev/null @@ -1,37 +0,0 @@ -{ - "experiment": { - "id": "e99017", - "name": "RC-Differentiator", - "discipline_id": "ece", - "institute_id": "dei", - "developers": [ - { - "name": "Dr. C. M. Markan", - "email": "cm.markan@gmail.com" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://evalidate.freehostia.com/RLC/rcDifferentiator/rcDifferentiatorTheory.html" - } - ], - "integration_level": 4, - "overview": "This experiments deals with RC-Differentiator", - "assets": [ - { - "asset_type": "sources", - "path": "https://github.com/Virtual-Labs/evalidate-dei" - } - ], - "sections" : [ - "Theory", - "Procedure", - "Live Experiment", - "Case Study", - "Lab-Report", - "Videos Tutorial" - ] - } -} diff --git a/specifications/dayalbagh/virtual-advanced-lab-for-interactive-design-and-test-in-electronics/e99018.json b/specifications/dayalbagh/virtual-advanced-lab-for-interactive-design-and-test-in-electronics/e99018.json deleted file mode 100644 index 73be7e4..0000000 --- a/specifications/dayalbagh/virtual-advanced-lab-for-interactive-design-and-test-in-electronics/e99018.json +++ /dev/null @@ -1,37 +0,0 @@ -{ - "experiment": { - "id": "e99018", - "name": "RC-Integrator", - "discipline_id": "ece", - "institute_id": "dei", - "developers": [ - { - "name": "Dr. C. M. Markan", - "email": "cm.markan@gmail.com" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://evalidate.freehostia.com/RLC/rcIntegrator/rcIntegratorTheory.html" - } - ], - "integration_level": 4, - "overview": "This experiments deals with RC-Integrator", - "assets": [ - { - "asset_type": "sources", - "path": "https://github.com/Virtual-Labs/evalidate-dei" - } - ], - "sections" : [ - "Theory", - "Procedure", - "Live Experiment", - "Case Study", - "Lab-Report", - "Videos Tutorial" - ] - } -} diff --git a/specifications/dayalbagh/virtual-advanced-lab-for-interactive-design-and-test-in-electronics/e99019.json b/specifications/dayalbagh/virtual-advanced-lab-for-interactive-design-and-test-in-electronics/e99019.json deleted file mode 100644 index 60a1f3d..0000000 --- a/specifications/dayalbagh/virtual-advanced-lab-for-interactive-design-and-test-in-electronics/e99019.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "experiment": { - "id": "e99019", - "name": "Monostable Multi-Vibrator", - "discipline_id": "ece", - "institute_id": "dei", - "developers": [ - { - "name": "Dr. C. M. Markan", - "email": "cm.markan@gmail.com" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://evalidate.freehostia.com/555/monostable/monostableTheory.html" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Monostable Multi-Vibrator", - "assets": [ - { - "asset_type": "sources", - "path": "https://github.com/Virtual-Labs/evalidate-dei" - } - ], - "sections" : [ - "Theory", - "Procedure", - "Live Experiment", - "Lab-Report" - ] - } -} diff --git a/specifications/dayalbagh/virtual-advanced-lab-for-interactive-design-and-test-in-electronics/e99020.json b/specifications/dayalbagh/virtual-advanced-lab-for-interactive-design-and-test-in-electronics/e99020.json deleted file mode 100644 index ad90f48..0000000 --- a/specifications/dayalbagh/virtual-advanced-lab-for-interactive-design-and-test-in-electronics/e99020.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "experiment": { - "id": "e99020", - "name": "Astable Multi-Vibrator", - "discipline_id": "ece", - "institute_id": "dei", - "developers": [ - { - "name": "Dr. C. M. Markan", - "email": "cm.markan@gmail.com" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://evalidate.freehostia.com/555/astable/astableTheory.html" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Astable Multi-Vibrator", - "assets": [ - { - "asset_type": "sources", - "path": "https://github.com/Virtual-Labs/evalidate-dei" - } - ], - "sections" : [ - "Theory", - "Procedure", - "Live Experiment", - "Lab-Report", - "Videos Tutorial" - ] - } -} diff --git a/specifications/dayalbagh/virtual-advanced-lab-for-interactive-design-and-test-in-electronics/e99021.json b/specifications/dayalbagh/virtual-advanced-lab-for-interactive-design-and-test-in-electronics/e99021.json deleted file mode 100644 index d3038f4..0000000 --- a/specifications/dayalbagh/virtual-advanced-lab-for-interactive-design-and-test-in-electronics/e99021.json +++ /dev/null @@ -1,37 +0,0 @@ -{ - "experiment": { - "id": "e99021", - "name": "Inverting Amplifier", - "discipline_id": "ece", - "institute_id": "dei", - "developers": [ - { - "name": "Dr. C. M. Markan", - "email": "cm.markan@gmail.com" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://evalidate.freehostia.com/op-amp/invertingAmplifier/invertingTheory.html" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Inverting Amplifier", - "assets": [ - { - "asset_type": "sources", - "path": "https://github.com/Virtual-Labs/evalidate-dei" - } - ], - "sections" : [ - "Theory", - "Procedure", - "Live Experiment", - "Case Study", - "Lab-Report", - "Videos Tutorial" - ] - } -} diff --git a/specifications/dayalbagh/virtual-advanced-lab-for-interactive-design-and-test-in-electronics/e99022.json b/specifications/dayalbagh/virtual-advanced-lab-for-interactive-design-and-test-in-electronics/e99022.json deleted file mode 100644 index 4964bcc..0000000 --- a/specifications/dayalbagh/virtual-advanced-lab-for-interactive-design-and-test-in-electronics/e99022.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "experiment": { - "id": "e99022", - "name": "Schmitt Trigger", - "discipline_id": "ece", - "institute_id": "dei", - "developers": [ - { - "name": "Dr. C. M. Markan", - "email": "cm.markan@gmail.com" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://evalidate.freehostia.com/op-amp/schmitt/schmittTheory.html" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Schmitt Trigger", - "assets": [ - { - "asset_type": "sources", - "path": "https://github.com/Virtual-Labs/evalidate-dei" - } - ], - "sections" : [ - "Theory", - "Procedure", - "Live Experiment", - "Lab-Report" - ] - } -} diff --git a/specifications/dayalbagh/virtual-advanced-lab-for-interactive-design-and-test-in-electronics/e99023.json b/specifications/dayalbagh/virtual-advanced-lab-for-interactive-design-and-test-in-electronics/e99023.json deleted file mode 100644 index 6341a10..0000000 --- a/specifications/dayalbagh/virtual-advanced-lab-for-interactive-design-and-test-in-electronics/e99023.json +++ /dev/null @@ -1,37 +0,0 @@ -{ - "experiment": { - "id": "e99023", - "name": "Logarithmic Amplifier", - "discipline_id": "ece", - "institute_id": "dei", - "developers": [ - { - "name": "Dr. C. M. Markan", - "email": "cm.markan@gmail.com" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://evalidate.freehostia.com/op-amp/logarithmic/logarithmicTheory.html" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Logarithmic Amplifier", - "assets": [ - { - "asset_type": "sources", - "path": "https://github.com/Virtual-Labs/evalidate-dei" - } - ], - "sections" : [ - "Theory", - "Procedure", - "Live Experiment", - "Case Study", - "Lab-Report", - "Videos Tutorial" - ] - } -} diff --git a/specifications/dayalbagh/virtual-advanced-lab-for-interactive-design-and-test-in-electronics/e99024.json b/specifications/dayalbagh/virtual-advanced-lab-for-interactive-design-and-test-in-electronics/e99024.json deleted file mode 100644 index ade2a69..0000000 --- a/specifications/dayalbagh/virtual-advanced-lab-for-interactive-design-and-test-in-electronics/e99024.json +++ /dev/null @@ -1,37 +0,0 @@ -{ - "experiment": { - "id": "e99024", - "name": "Halfwave Rectifier", - "discipline_id": "ece", - "institute_id": "dei", - "developers": [ - { - "name": "Dr. C. M. Markan", - "email": "cm.markan@gmail.com" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://evalidate.freehostia.com/op-amp/halfwaveOpamp/halfwaveOpampTheory.html" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Halfwave Rectifier", - "assets": [ - { - "asset_type": "sources", - "path": "https://github.com/Virtual-Labs/evalidate-dei" - } - ], - "sections" : [ - "Theory", - "Procedure", - "Live Experiment", - "Case Study", - "Lab-Report", - "Videos Tutorial" - ] - } -} diff --git a/specifications/dayalbagh/virtual-advanced-lab-for-interactive-design-and-test-in-electronics/e99025.json b/specifications/dayalbagh/virtual-advanced-lab-for-interactive-design-and-test-in-electronics/e99025.json deleted file mode 100644 index 21a511c..0000000 --- a/specifications/dayalbagh/virtual-advanced-lab-for-interactive-design-and-test-in-electronics/e99025.json +++ /dev/null @@ -1,37 +0,0 @@ -{ - "experiment": { - "id": "e99025", - "name": "Summing amplifier", - "discipline_id": "ece", - "institute_id": "dei", - "developers": [ - { - "name": "Dr. C. M. Markan", - "email": "cm.markan@gmail.com" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://evalidate.freehostia.com/op-amp/summingAmplifier/summingAmplifierTheory.html" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Summing amplifier", - "assets": [ - { - "asset_type": "sources", - "path": "https://github.com/Virtual-Labs/evalidate-dei" - } - ], - "sections" : [ - "Theory", - "Procedure", - "Live Experiment", - "Case Study", - "Lab-Report", - "Videos Tutorial" - ] - } -} diff --git a/specifications/dayalbagh/virtual-advanced-lab-for-interactive-design-and-test-in-electronics/e99026.json b/specifications/dayalbagh/virtual-advanced-lab-for-interactive-design-and-test-in-electronics/e99026.json deleted file mode 100644 index 9d1b7bf..0000000 --- a/specifications/dayalbagh/virtual-advanced-lab-for-interactive-design-and-test-in-electronics/e99026.json +++ /dev/null @@ -1,37 +0,0 @@ -{ - "experiment": { - "id": "e99026", - "name": "Voltage Follower", - "discipline_id": "ece", - "institute_id": "dei", - "developers": [ - { - "name": "Dr. C. M. Markan", - "email": "cm.markan@gmail.com" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://evalidate.freehostia.com/op-amp/voltageFollower/voltageFollowerTheory.html" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Voltage Follower", - "assets": [ - { - "asset_type": "sources", - "path": "https://github.com/Virtual-Labs/evalidate-dei" - } - ], - "sections" : [ - "Theory", - "Procedure", - "Live Experiment", - "Case Study", - "Lab-Report", - "Videos Tutorial" - ] - } -} diff --git a/specifications/dayalbagh/virtual-advanced-lab-for-interactive-design-and-test-in-electronics/e99027.json b/specifications/dayalbagh/virtual-advanced-lab-for-interactive-design-and-test-in-electronics/e99027.json deleted file mode 100644 index 502b49d..0000000 --- a/specifications/dayalbagh/virtual-advanced-lab-for-interactive-design-and-test-in-electronics/e99027.json +++ /dev/null @@ -1,37 +0,0 @@ -{ - "experiment": { - "id": "e99027", - "name": "Non-Inverting Amplifier", - "discipline_id": "ece", - "institute_id": "dei", - "developers": [ - { - "name": "Dr. C. M. Markan", - "email": "cm.markan@gmail.com" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://evalidate.freehostia.com/op-amp/non-invertingAmplifier/noninvertingTheory.html" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Non-Inverting Amplifier", - "assets": [ - { - "asset_type": "sources", - "path": "https://github.com/Virtual-Labs/evalidate-dei" - } - ], - "sections" : [ - "Theory", - "Procedure", - "Live Experiment", - "Case Study", - "Lab-Report", - "Videos Tutorial" - ] - } -} diff --git a/specifications/dayalbagh/virtual-advanced-lab-for-interactive-design-and-test-in-electronics/e99028.json b/specifications/dayalbagh/virtual-advanced-lab-for-interactive-design-and-test-in-electronics/e99028.json deleted file mode 100644 index 888969c..0000000 --- a/specifications/dayalbagh/virtual-advanced-lab-for-interactive-design-and-test-in-electronics/e99028.json +++ /dev/null @@ -1,37 +0,0 @@ -{ - "experiment": { - "id": "e99028", - "name": "Integrator", - "discipline_id": "ece", - "institute_id": "dei", - "developers": [ - { - "name": "Dr. C. M. Markan", - "email": "cm.markan@gmail.com" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://evalidate.freehostia.com/op-amp/integrator/integratorTheory.html" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Integrator", - "assets": [ - { - "asset_type": "sources", - "path": "https://github.com/Virtual-Labs/evalidate-dei" - } - ], - "sections" : [ - "Theory", - "Procedure", - "Live Experiment", - "Case Study", - "Lab-Report", - "Videos Tutorial" - ] - } -} diff --git a/specifications/dayalbagh/virtual-advanced-lab-for-interactive-design-and-test-in-electronics/e99029.json b/specifications/dayalbagh/virtual-advanced-lab-for-interactive-design-and-test-in-electronics/e99029.json deleted file mode 100644 index 6f145a4..0000000 --- a/specifications/dayalbagh/virtual-advanced-lab-for-interactive-design-and-test-in-electronics/e99029.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "experiment": { - "id": "e99029", - "name": "Push Pull Amplifier", - "discipline_id": "ece", - "institute_id": "dei", - "developers": [ - { - "name": "Dr. C. M. Markan", - "email": "cm.markan@gmail.com" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://evalidate.freehostia.com/bjt/pushpull/pushpullTheory.html" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Push Pull Amplifier", - "assets": [ - { - "asset_type": "sources", - "path": "https://github.com/Virtual-Labs/evalidate-dei" - } - ], - "sections" : [ - "Theory", - "Procedure", - "Live Experiment", - "Lab-Report", - "Videos Tutorial" - ] - } -} diff --git a/specifications/dayalbagh/virtual-advanced-lab-for-interactive-design-and-test-in-electronics/e99030.json b/specifications/dayalbagh/virtual-advanced-lab-for-interactive-design-and-test-in-electronics/e99030.json deleted file mode 100644 index c5145a8..0000000 --- a/specifications/dayalbagh/virtual-advanced-lab-for-interactive-design-and-test-in-electronics/e99030.json +++ /dev/null @@ -1,37 +0,0 @@ -{ - "experiment": { - "id": "e99030", - "name": "Diode Limiter", - "discipline_id": "ece", - "institute_id": "dei", - "developers": [ - { - "name": "Dr. C. M. Markan", - "email": "cm.markan@gmail.com" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://evalidate.freehostia.com/diode/Diode_Limiter/diodeLimiterTheory.html" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Diode Limiter", - "assets": [ - { - "asset_type": "sources", - "path": "https://github.com/Virtual-Labs/evalidate-dei" - } - ], - "sections" : [ - "Theory", - "Procedure", - "Live Experiment", - "Case Study", - "Lab-Report", - "Videos Tutorial" - ] - } -} diff --git a/specifications/dayalbagh/virtual-advanced-lab-for-interactive-design-and-test-in-electronics/e99031.json b/specifications/dayalbagh/virtual-advanced-lab-for-interactive-design-and-test-in-electronics/e99031.json deleted file mode 100644 index 76998f9..0000000 --- a/specifications/dayalbagh/virtual-advanced-lab-for-interactive-design-and-test-in-electronics/e99031.json +++ /dev/null @@ -1,37 +0,0 @@ -{ - "experiment": { - "id": "e99031", - "name": "Diode Clipper", - "discipline_id": "ece", - "institute_id": "dei", - "developers": [ - { - "name": "Dr. C. M. Markan", - "email": "cm.markan@gmail.com" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://evalidate.freehostia.com/diode/clipper/clipperTheory.html" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Diode Clipper", - "assets": [ - { - "asset_type": "sources", - "path": "https://github.com/Virtual-Labs/evalidate-dei" - } - ], - "sections" : [ - "Theory", - "Procedure", - "Live Experiment", - "Case Study", - "Lab-Report", - "Videos Tutorial" - ] - } -} diff --git a/specifications/dayalbagh/virtual-advanced-lab-for-interactive-design-and-test-in-electronics/e99032.json b/specifications/dayalbagh/virtual-advanced-lab-for-interactive-design-and-test-in-electronics/e99032.json deleted file mode 100644 index cf6b9ba..0000000 --- a/specifications/dayalbagh/virtual-advanced-lab-for-interactive-design-and-test-in-electronics/e99032.json +++ /dev/null @@ -1,37 +0,0 @@ -{ - "experiment": { - "id": "e99032", - "name": "Diode Clamper", - "discipline_id": "ece", - "institute_id": "dei", - "developers": [ - { - "name": "Dr. C. M. Markan", - "email": "cm.markan@gmail.com" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://evalidate.freehostia.com/diode/diodeClamper/clamperTheory.html" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Diode Clamper", - "assets": [ - { - "asset_type": "sources", - "path": "https://github.com/Virtual-Labs/evalidate-dei" - } - ], - "sections" : [ - "Theory", - "Procedure", - "Live Experiment", - "Case Study", - "Lab-Report", - "Videos Tutorial" - ] - } -} diff --git a/specifications/dayalbagh/virtual-advanced-lab-for-interactive-design-and-test-in-electronics/e99033.json b/specifications/dayalbagh/virtual-advanced-lab-for-interactive-design-and-test-in-electronics/e99033.json deleted file mode 100644 index e5ad131..0000000 --- a/specifications/dayalbagh/virtual-advanced-lab-for-interactive-design-and-test-in-electronics/e99033.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "experiment": { - "id": "e99033", - "name": "FM Detector", - "discipline_id": "ece", - "institute_id": "dei", - "developers": [ - { - "name": "Dr. C. M. Markan", - "email": "cm.markan@gmail.com" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://evalidate.freehostia.com/diode/fm/fmTheory.html" - } - ], - "integration_level": 4, - "overview": "This experiments deals with FM Detector", - "assets": [ - { - "asset_type": "sources", - "path": "https://github.com/Virtual-Labs/evalidate-dei" - } - ], - "sections" : [ - "Theory", - "Procedure", - "Live Experiment", - "Lab-Report" - ] - } -} diff --git a/specifications/dayalbagh/virtual-advanced-lab-for-interactive-design-and-test-in-electronics/e99034.json b/specifications/dayalbagh/virtual-advanced-lab-for-interactive-design-and-test-in-electronics/e99034.json deleted file mode 100644 index 3e8d8e8..0000000 --- a/specifications/dayalbagh/virtual-advanced-lab-for-interactive-design-and-test-in-electronics/e99034.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "experiment": { - "id": "e99034", - "name": "Zener Diode Applications", - "discipline_id": "ece", - "institute_id": "dei", - "developers": [ - { - "name": "Dr. C. M. Markan", - "email": "cm.markan@gmail.com" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://evalidate.freehostia.com/diode/zener/zenerDiodeTheory.html" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Zener Diode Applications", - "assets": [ - { - "asset_type": "sources", - "path": "https://github.com/Virtual-Labs/evalidate-dei" - } - ], - "sections" : [ - "Theory", - "Procedure", - "Live Experiment", - "Lab-Report" - ] - } -} diff --git a/specifications/dayalbagh/virtual-advanced-lab-for-interactive-design-and-test-in-electronics/e99035.json b/specifications/dayalbagh/virtual-advanced-lab-for-interactive-design-and-test-in-electronics/e99035.json deleted file mode 100644 index 50217e0..0000000 --- a/specifications/dayalbagh/virtual-advanced-lab-for-interactive-design-and-test-in-electronics/e99035.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "experiment": { - "id": "e99035", - "name": "Voltage Doubler", - "discipline_id": "ece", - "institute_id": "dei", - "developers": [ - { - "name": "Dr. C. M. Markan", - "email": "cm.markan@gmail.com" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://evalidate.freehostia.com/diode/voltageDoubler/voltageDoublerTheory.html" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Voltage Doubler", - "assets": [ - { - "asset_type": "sources", - "path": "https://github.com/Virtual-Labs/evalidate-dei" - } - ], - "sections" : [ - "Theory", - "Procedure", - "Live Experiment", - "Lab-Report" - ] - } -} diff --git a/specifications/dayalbagh/virtual-advanced-lab-for-interactive-design-and-test-in-electronics/e99036.json b/specifications/dayalbagh/virtual-advanced-lab-for-interactive-design-and-test-in-electronics/e99036.json deleted file mode 100644 index 489d514..0000000 --- a/specifications/dayalbagh/virtual-advanced-lab-for-interactive-design-and-test-in-electronics/e99036.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "experiment": { - "id": "e99036", - "name": "AM Detector", - "discipline_id": "ece", - "institute_id": "dei", - "developers": [ - { - "name": "Dr. C. M. Markan", - "email": "cm.markan@gmail.com" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://evalidate.freehostia.com/diode/am/amTheory.html" - } - ], - "integration_level": 4, - "overview": "This experiments deals with AM Detector", - "assets": [ - { - "asset_type": "sources", - "path": "https://github.com/Virtual-Labs/evalidate-dei" - } - ], - "sections" : [ - "Theory", - "Procedure", - "Live Experiment", - "Lab-Report" - ] - } -} diff --git a/specifications/dayalbagh/virtual-advanced-lab-for-interactive-design-and-test-in-electronics/e99037.json b/specifications/dayalbagh/virtual-advanced-lab-for-interactive-design-and-test-in-electronics/e99037.json deleted file mode 100644 index 6d9c636..0000000 --- a/specifications/dayalbagh/virtual-advanced-lab-for-interactive-design-and-test-in-electronics/e99037.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "experiment": { - "id": "e99037", - "name": "Voltage Quad", - "discipline_id": "ece", - "institute_id": "dei", - "developers": [ - { - "name": "Dr. C. M. Markan", - "email": "cm.markan@gmail.com" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://evalidate.freehostia.com/diode/voltageQuad/voltageQuadTheory.html" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Voltage Quad", - "assets": [ - { - "asset_type": "sources", - "path": "https://github.com/Virtual-Labs/evalidate-dei" - } - ], - "sections" : [ - "" - ] - } -} diff --git a/specifications/dayalbagh/virtual-advanced-lab-for-interactive-design-and-test-in-electronics/e99038.json b/specifications/dayalbagh/virtual-advanced-lab-for-interactive-design-and-test-in-electronics/e99038.json deleted file mode 100644 index ac6b5a6..0000000 --- a/specifications/dayalbagh/virtual-advanced-lab-for-interactive-design-and-test-in-electronics/e99038.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "experiment": { - "id": "e99038", - "name": "Tunnel Diode Oscillator", - "discipline_id": "ece", - "institute_id": "dei", - "developers": [ - { - "name": "Dr. C. M. Markan", - "email": "cm.markan@gmail.com" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://evalidate.freehostia.com/diode/tunnelDiode/tunnelDiodeTheory.html" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Tunnel Diode Oscillator", - "assets": [ - { - "asset_type": "sources", - "path": "https://github.com/Virtual-Labs/evalidate-dei" - } - ], - "sections" : [ - "Theory", - "Procedure", - "Live Experiment", - "Lab-Report" - ] - } -} diff --git a/specifications/dayalbagh/virtual-advanced-lab-for-interactive-design-and-test-in-electronics/e99039.json b/specifications/dayalbagh/virtual-advanced-lab-for-interactive-design-and-test-in-electronics/e99039.json deleted file mode 100644 index 9089e42..0000000 --- a/specifications/dayalbagh/virtual-advanced-lab-for-interactive-design-and-test-in-electronics/e99039.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "experiment": { - "id": "e99039", - "name": "Varactor Tuner", - "discipline_id": "ece", - "institute_id": "dei", - "developers": [ - { - "name": "Dr. C. M. Markan", - "email": "cm.markan@gmail.com" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://evalidate.freehostia.com/diode/varactorTuner/varactorTunerTheory.html" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Varactor Tuner", - "assets": [ - { - "asset_type": "sources", - "path": "https://github.com/Virtual-Labs/evalidate-dei" - } - ], - "sections" : [ - "Theory", - "Procedure", - "Live Experiment", - "Lab-Report" - ] - } -} diff --git a/specifications/dayalbagh/virtual-advanced-lab-for-interactive-design-and-test-in-electronics/e99040.json b/specifications/dayalbagh/virtual-advanced-lab-for-interactive-design-and-test-in-electronics/e99040.json deleted file mode 100644 index d3f5c0f..0000000 --- a/specifications/dayalbagh/virtual-advanced-lab-for-interactive-design-and-test-in-electronics/e99040.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "experiment": { - "id": "e99040", - "name": "Voltage Tripler", - "discipline_id": "ece", - "institute_id": "dei", - "developers": [ - { - "name": "Dr. C. M. Markan", - "email": "cm.markan@gmail.com" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://evalidate.freehostia.com/diode/voltageTripler/voltageTriplerTheory.html" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Voltage Tripler", - "assets": [ - { - "asset_type": "sources", - "path": "https://github.com/Virtual-Labs/evalidate-dei" - } - ], - "sections" : [ - "Theory", - "Procedure", - "Live Experiment", - "Lab-Report" - ] - } -} diff --git a/specifications/dayalbagh/virtual-advanced-lab-for-interactive-design-and-test-in-electronics/e99041.json b/specifications/dayalbagh/virtual-advanced-lab-for-interactive-design-and-test-in-electronics/e99041.json deleted file mode 100644 index b43037c..0000000 --- a/specifications/dayalbagh/virtual-advanced-lab-for-interactive-design-and-test-in-electronics/e99041.json +++ /dev/null @@ -1,37 +0,0 @@ -{ - "experiment": { - "id": "e99041", - "name": "Full-Wave Rectification", - "discipline_id": "ece", - "institute_id": "dei", - "developers": [ - { - "name": "Dr. C. M. Markan", - "email": "cm.markan@gmail.com" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://evalidate.freehostia.com/diode/fullrectification/fullwaveTheory.html" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Full-Wave Rectification", - "assets": [ - { - "asset_type": "sources", - "path": "https://github.com/Virtual-Labs/evalidate-dei" - } - ], - "sections" : [ - "Theory", - "Procedure", - "Live Experiment", - "Case Study", - "Lab-Report", - "Videos Tutorial" - ] - } -} diff --git a/specifications/dayalbagh/virtual-advanced-lab-for-interactive-design-and-test-in-electronics/virtual-advanced-lab-for-interactive-design-and-test-in-electronics.json b/specifications/dayalbagh/virtual-advanced-lab-for-interactive-design-and-test-in-electronics/virtual-advanced-lab-for-interactive-design-and-test-in-electronics.json deleted file mode 100644 index 2f944ba..0000000 --- a/specifications/dayalbagh/virtual-advanced-lab-for-interactive-design-and-test-in-electronics/virtual-advanced-lab-for-interactive-design-and-test-in-electronics.json +++ /dev/null @@ -1,67 +0,0 @@ -{ - "lab": { - "id": "ece26", - "name": "virtual advanced lab for interactive design and test in electronics", - "discipline_id": "ece", - "institute_id": "dei", - "developers": [ - { - "name": "Dr. C. M. Markan", - "email": "cm.markan@gmail.com" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://evalidate.freehostia.com/index.html" - } - ], - "integration_level": 4, - "overview": "This lab deals with virtual advanced lab for interactive design and test in electronics", - "assets": [ - { - "asset_type": "sources", - "path": "https://github.com/Virtual-Labs/evalidate-dei" - } - ], - "sections": [ - { - "name": "Introduction" - }, - { - "experiments" : [ - "e98636", - "e99041", - "e99036", - "e99033", - "e99035", - "e99034", - "e98896", - "e99040", - "e99032", - "e99031", - "e99030", - "e99039", - "e99038", - "e99037", - "e99029", - "e99028", - "e99017", - "e99024", - "e99023", - "e99022", - "e99027", - "e99027", - "e99026", - "e98895", - "e99025", - "e99020", - "e99019", - "e99018", - "e99017" - ] - } - ] - } -} diff --git a/specifications/iiit-hyderabad/basic-engineering-mechanics-and-strength-of-materials/basic-engineering-mechanics-and-strength-of-materials.json b/specifications/iiit-hyderabad/basic-engineering-mechanics-and-strength-of-materials/basic-engineering-mechanics-and-strength-of-materials.json deleted file mode 100644 index 16cba4f..0000000 --- a/specifications/iiit-hyderabad/basic-engineering-mechanics-and-strength-of-materials/basic-engineering-mechanics-and-strength-of-materials.json +++ /dev/null @@ -1,48 +0,0 @@ -{ - "lab": { - "id": "EERC01", - "name": "basic engineering mechanics and strength of materials", - "discipline_id": "civil", - "institute_id": "iiith", - "developers": [ - { - "name": "Pradeep Kumar Ramancharla", - "email": "ramancharla@iiit.ac.in" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "error", - "hosted_url": "http://eerc01-iiith.vlabs.ac.in/" - } - ], - "integration_level": 4, - "overview": "This lab deals with basic engineering mechanics and strength of materials", - "assets": [ - { - "asset_type": "sources", - "path": "https://github.com/Virtual-Labs/basic-engineering-mechanics-and-strength-of-materials-iiith.git" - } - ], - "sections": [ - { - "name": "Introduction" - }, - { - "experiments" : [ - "e99676", - "e99673", - "e99669", - "e99675", - "e99674", - "e99672", - "e99671", - "e98990", - "e99668", - "e99667" - ] - } - ] - } -} diff --git a/specifications/iiit-hyderabad/basic-engineering-mechanics-and-strength-of-materials/dump_json_to_lds.py b/specifications/iiit-hyderabad/basic-engineering-mechanics-and-strength-of-materials/dump_json_to_lds.py deleted file mode 100644 index 78c74fa..0000000 --- a/specifications/iiit-hyderabad/basic-engineering-mechanics-and-strength-of-materials/dump_json_to_lds.py +++ /dev/null @@ -1,44 +0,0 @@ - -import os -import os.path -import json -import requests -import glob - -URL= 'http://localhost:5000' -json_path_list = [] - -def post_lab_spec(file_path): - - with open(file_path) as json_file: - print file_path - data = json.load(json_file) - if 'lab' in data.keys(): - end_point = "/labs" - if 'experiment' in data.keys(): - end_point = "/experiments" - - data['key'] = 'defaultkey' - APP_URL = URL + end_point - headers = {'Content-Type': 'application/json'} - try: - response = requests.post(APP_URL, data = json.dumps(data), - headers=headers) - if response.status_code == 200: - print "Added json data : " + file_path - else: - print "Errore in adding json file " + file_path + " due to " + response.text - except Exception as e: - print str(e) -try: - exp_file_list = glob.glob(os.getcwd() + "/e9*.json") - lab_file_list = glob.glob(os.getcwd() + "/[!e9]*.json") - - for filename in exp_file_list: - json_path_list.append(filename) -except Exception as e: - print str(e) - -for file_path in json_path_list: - post_lab_spec(file_path) -post_lab_spec(lab_file_list[0]) diff --git a/specifications/iiit-hyderabad/basic-engineering-mechanics-and-strength-of-materials/e98990.json b/specifications/iiit-hyderabad/basic-engineering-mechanics-and-strength-of-materials/e98990.json deleted file mode 100644 index 18d4e39..0000000 --- a/specifications/iiit-hyderabad/basic-engineering-mechanics-and-strength-of-materials/e98990.json +++ /dev/null @@ -1,37 +0,0 @@ -{ - "experiment": { - "id": "e98990", - "name": "Fatigue Test Experiment", - "discipline_id": "civil", - "institute_id": "iiith", - "developers": [ - { - "name": "Pradeep Kumar Ramancharla", - "email": "ramancharla@iiit.ac.in" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "error", - "hosted_url": "http://eerc01-iiith.vlabs.ac.in/exp7/index.php" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Fatigue Test Experiment", - "assets": [ - { - "asset_type": "sources", - "path": "https://github.com/Virtual-Labs/basic-engineering-mechanics-and-strength-of-materials-iiith.git" - } - ], - "sections" : [ - "Introduction", - "Theory", - "Objective", - "Experiment", - "Procedure", - "Further Readings" - ] - } -} diff --git a/specifications/iiit-hyderabad/basic-engineering-mechanics-and-strength-of-materials/e99667.json b/specifications/iiit-hyderabad/basic-engineering-mechanics-and-strength-of-materials/e99667.json deleted file mode 100644 index c205521..0000000 --- a/specifications/iiit-hyderabad/basic-engineering-mechanics-and-strength-of-materials/e99667.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "experiment": { - "id": "e99667", - "name": "Rockwell Hardness Experiment", - "discipline_id": "civil", - "institute_id": "iiith", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "error", - "hosted_url": "http://eerc01-iiith.vlabs.ac.in/exp10/index.php" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Rockwell Hardness Experiment", - "assets": [ - { - "asset_type": "sources", - "path": "https://github.com/Virtual-Labs/basic-engineering-mechanics-and-strength-of-materials-iiith.git" - } - ], - "sections" : [ - "Introduction", - "Theory", - "Objective", - "Experiment", - "Procedure", - "Further Readings" - ] - } -} diff --git a/specifications/iiit-hyderabad/basic-engineering-mechanics-and-strength-of-materials/e99668.json b/specifications/iiit-hyderabad/basic-engineering-mechanics-and-strength-of-materials/e99668.json deleted file mode 100644 index 1fad009..0000000 --- a/specifications/iiit-hyderabad/basic-engineering-mechanics-and-strength-of-materials/e99668.json +++ /dev/null @@ -1,37 +0,0 @@ -{ - "experiment": { - "id": "e99668", - "name": "Principal Stresses Experiment", - "discipline_id": "civil", - "institute_id": "iiith", - "developers": [ - { - "name": "Pradeep Kumar Ramancharla", - "email": "ramancharla@iiit.ac.in" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "error", - "hosted_url": "http://eerc01-iiith.vlabs.ac.in/exp9/index.php" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Principal Stresses Experiment", - "assets": [ - { - "asset_type": "sources", - "path": "https://github.com/Virtual-Labs/basic-engineering-mechanics-and-strength-of-materials-iiith.git" - } - ], - "sections" : [ - "Introduction", - "Theory", - "Objective", - "Experiment", - "Procedure", - "Further Readings" - ] - } -} diff --git a/specifications/iiit-hyderabad/basic-engineering-mechanics-and-strength-of-materials/e99669.json b/specifications/iiit-hyderabad/basic-engineering-mechanics-and-strength-of-materials/e99669.json deleted file mode 100644 index b436e36..0000000 --- a/specifications/iiit-hyderabad/basic-engineering-mechanics-and-strength-of-materials/e99669.json +++ /dev/null @@ -1,37 +0,0 @@ -{ - "experiment": { - "id": "e99669", - "name": "Compression Test on Spring Experiment", - "discipline_id": "civil", - "institute_id": "iiith", - "developers": [ - { - "name": "Pradeep Kumar Ramancharla", - "email": "ramancharla@iiit.ac.in" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "error", - "hosted_url": "http://eerc01-iiith.vlabs.ac.in/exp8/index.php" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Compression Test on Spring Experiment", - "assets": [ - { - "asset_type": "sources", - "path": "https://github.com/Virtual-Labs/basic-engineering-mechanics-and-strength-of-materials-iiith.git" - } - ], - "sections" : [ - "Introduction", - "Theory", - "Objective", - "Experiment", - "Procedure", - "Further Readings" - ] - } -} diff --git a/specifications/iiit-hyderabad/basic-engineering-mechanics-and-strength-of-materials/e99671.json b/specifications/iiit-hyderabad/basic-engineering-mechanics-and-strength-of-materials/e99671.json deleted file mode 100644 index 204ce6a..0000000 --- a/specifications/iiit-hyderabad/basic-engineering-mechanics-and-strength-of-materials/e99671.json +++ /dev/null @@ -1,37 +0,0 @@ -{ - "experiment": { - "id": "e99671", - "name": "Creep Test Experiment", - "discipline_id": "civil", - "institute_id": "iiith", - "developers": [ - { - "name": "Pradeep Kumar Ramancharla", - "email": "ramancharla@iiit.ac.in" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "error", - "hosted_url": "http://eerc01-iiith.vlabs.ac.in/exp6/index.php" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Creep Test Experiment", - "assets": [ - { - "asset_type": "sources", - "path": "https://github.com/Virtual-Labs/basic-engineering-mechanics-and-strength-of-materials-iiith.git" - } - ], - "sections" : [ - "Introduction", - "Theory", - "Objective", - "Experiment", - "Procedure", - "Further Readings" - ] - } -} diff --git a/specifications/iiit-hyderabad/basic-engineering-mechanics-and-strength-of-materials/e99672.json b/specifications/iiit-hyderabad/basic-engineering-mechanics-and-strength-of-materials/e99672.json deleted file mode 100644 index 74631f9..0000000 --- a/specifications/iiit-hyderabad/basic-engineering-mechanics-and-strength-of-materials/e99672.json +++ /dev/null @@ -1,37 +0,0 @@ -{ - "experiment": { - "id": "e99672", - "name": "Impact Test Experiment", - "discipline_id": "civil", - "institute_id": "iiith", - "developers": [ - { - "name": "Pradeep Kumar Ramancharla", - "email": "ramancharla@iiit.ac.in" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "error", - "hosted_url": "http://eerc01-iiith.vlabs.ac.in/exp5/index.php" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Impact Test Experiment", - "assets": [ - { - "asset_type": "sources", - "path": "https://github.com/Virtual-Labs/basic-engineering-mechanics-and-strength-of-materials-iiith.git" - } - ], - "sections" : [ - "Introduction", - "Theory", - "Objective", - "Experiment", - "Procedure", - "Further Readings" - ] - } -} diff --git a/specifications/iiit-hyderabad/basic-engineering-mechanics-and-strength-of-materials/e99673.json b/specifications/iiit-hyderabad/basic-engineering-mechanics-and-strength-of-materials/e99673.json deleted file mode 100644 index 04d856c..0000000 --- a/specifications/iiit-hyderabad/basic-engineering-mechanics-and-strength-of-materials/e99673.json +++ /dev/null @@ -1,39 +0,0 @@ -{ - "experiment": { - "id": "e99673", - "name": "Torsion Test Experiment", - "discipline_id": "civil", - "institute_id": "iiith", - "developers": [ - { - "name": "Pradeep Kumar Ramancharla", - "email": "ramancharla@iiit.ac.in" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "error", - "hosted_url": "http://eerc01-iiith.vlabs.ac.in/exp4/index.php" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Torsion Test Experiment", - "assets": [ - { - "asset_type": "sources", - "path": "https://github.com/Virtual-Labs/basic-engineering-mechanics-and-strength-of-materials-iiith.git" - } - ], - "sections" : [ - "Introduction", - "Theory", - "Objective", - "Experiment", - "Manual", - "Quizzes", - "Procedure", - "Further Readings" - ] - } -} diff --git a/specifications/iiit-hyderabad/basic-engineering-mechanics-and-strength-of-materials/e99674.json b/specifications/iiit-hyderabad/basic-engineering-mechanics-and-strength-of-materials/e99674.json deleted file mode 100644 index 30380d7..0000000 --- a/specifications/iiit-hyderabad/basic-engineering-mechanics-and-strength-of-materials/e99674.json +++ /dev/null @@ -1,39 +0,0 @@ -{ - "experiment": { - "id": "e99674", - "name": "Shear Test Experiment", - "discipline_id": "civil", - "institute_id": "iiith", - "developers": [ - { - "name": "Pradeep Kumar Ramancharla", - "email": "ramancharla@iiit.ac.in" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "error", - "hosted_url": "http://eerc01-iiith.vlabs.ac.in/exp3/index.php" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Shear Test Experiment", - "assets": [ - { - "asset_type": "sources", - "path": "https://github.com/Virtual-Labs/basic-engineering-mechanics-and-strength-of-materials-iiith.git" - } - ], - "sections" : [ - "Introduction", - "Theory", - "Objective", - "Experiment", - "Manual", - "Quizzes", - "Procedure", - "Further Readings" - ] - } -} diff --git a/specifications/iiit-hyderabad/basic-engineering-mechanics-and-strength-of-materials/e99675.json b/specifications/iiit-hyderabad/basic-engineering-mechanics-and-strength-of-materials/e99675.json deleted file mode 100644 index 06440c1..0000000 --- a/specifications/iiit-hyderabad/basic-engineering-mechanics-and-strength-of-materials/e99675.json +++ /dev/null @@ -1,39 +0,0 @@ -{ - "experiment": { - "id": "e99675", - "name": "Compression Test Experiment", - "discipline_id": "civil", - "institute_id": "iiith", - "developers": [ - { - "name": "Pradeep Kumar Ramancharla", - "email": "ramancharla@iiit.ac.in" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "error", - "hosted_url": "http://eerc01-iiith.vlabs.ac.in/exp2/index.php" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Compression Test Experiment", - "assets": [ - { - "asset_type": "sources", - "path": "https://github.com/Virtual-Labs/basic-engineering-mechanics-and-strength-of-materials-iiith.git" - } - ], - "sections" : [ - "Introduction", - "Theory", - "Objective", - "Experiment", - "Manual", - "Quizzes", - "Procedure", - "Further Readings" - ] - } -} diff --git a/specifications/iiit-hyderabad/basic-engineering-mechanics-and-strength-of-materials/e99676.json b/specifications/iiit-hyderabad/basic-engineering-mechanics-and-strength-of-materials/e99676.json deleted file mode 100644 index 4ce743a..0000000 --- a/specifications/iiit-hyderabad/basic-engineering-mechanics-and-strength-of-materials/e99676.json +++ /dev/null @@ -1,37 +0,0 @@ -{ - "experiment": { - "id": "e99676", - "name": "Tensile Test Experiment", - "discipline_id": "civil", - "institute_id": "iiith", - "developers": [ - { - "name": "Pradeep Kumar Ramancharla", - "email": "ramancharla@iiit.ac.in" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "error", - "hosted_url": "http://eerc01-iiith.vlabs.ac.in/exp1/index.php" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Tensile Test Experiment", - "assets": [ - { - "asset_type": "sources", - "path": "https://github.com/Virtual-Labs/basic-engineering-mechanics-and-strength-of-materials-iiith.git" - } - ], - "sections" : [ - "Introduction", - "Theory", - "Objective", - "Experiment", - "Procedure", - "Further Readings" - ] - } -} diff --git a/specifications/iiit-hyderabad/circular-dichroism-spectroscopy/circular-dichroism-spectroscopy.json b/specifications/iiit-hyderabad/circular-dichroism-spectroscopy/circular-dichroism-spectroscopy.json deleted file mode 100644 index 019fbd7..0000000 --- a/specifications/iiit-hyderabad/circular-dichroism-spectroscopy/circular-dichroism-spectroscopy.json +++ /dev/null @@ -1,38 +0,0 @@ -{ - "lab": { - "id": "ccnsb05", - "name": "circular dichroism spectroscopy", - "discipline_id": "chem", - "institute_id": "iiith", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "cloud", - "hosted_url": "http://cds-iiith.vlabs.ac.in/" - } - ], - "integration_level": 4, - "overview": "This lab deals with circular dichroism spectroscopy", - "assets": [], - "sections": [ - { - "name": "Introduction" - }, - { - "experiments" : [ - "e98635", - "e98634", - "e98633", - "e98632", - "e98631", - "e98630", - "e98629", - "e98628", - "e98627", - "e98626" - ] - } - ] - } -} diff --git a/specifications/iiit-hyderabad/circular-dichroism-spectroscopy/dump_json_to_lds.py b/specifications/iiit-hyderabad/circular-dichroism-spectroscopy/dump_json_to_lds.py deleted file mode 100644 index 78c74fa..0000000 --- a/specifications/iiit-hyderabad/circular-dichroism-spectroscopy/dump_json_to_lds.py +++ /dev/null @@ -1,44 +0,0 @@ - -import os -import os.path -import json -import requests -import glob - -URL= 'http://localhost:5000' -json_path_list = [] - -def post_lab_spec(file_path): - - with open(file_path) as json_file: - print file_path - data = json.load(json_file) - if 'lab' in data.keys(): - end_point = "/labs" - if 'experiment' in data.keys(): - end_point = "/experiments" - - data['key'] = 'defaultkey' - APP_URL = URL + end_point - headers = {'Content-Type': 'application/json'} - try: - response = requests.post(APP_URL, data = json.dumps(data), - headers=headers) - if response.status_code == 200: - print "Added json data : " + file_path - else: - print "Errore in adding json file " + file_path + " due to " + response.text - except Exception as e: - print str(e) -try: - exp_file_list = glob.glob(os.getcwd() + "/e9*.json") - lab_file_list = glob.glob(os.getcwd() + "/[!e9]*.json") - - for filename in exp_file_list: - json_path_list.append(filename) -except Exception as e: - print str(e) - -for file_path in json_path_list: - post_lab_spec(file_path) -post_lab_spec(lab_file_list[0]) diff --git a/specifications/iiit-hyderabad/circular-dichroism-spectroscopy/e98626.json b/specifications/iiit-hyderabad/circular-dichroism-spectroscopy/e98626.json deleted file mode 100644 index 8b26083..0000000 --- a/specifications/iiit-hyderabad/circular-dichroism-spectroscopy/e98626.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "experiment": { - "id": "e98626", - "name": "To study the comparison between protein unfolding and protein aggregation in the presence of chemical denaturing agents.", - "discipline_id": "chem", - "institute_id": "iiith", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "cloud", - "hosted_url": "http://cds-iiith.vlabs.ac.in/exp10/index.html" - } - ], - "integration_level": 4, - "overview": "This experiments deals with To study the comparison between protein unfolding and protein aggregation in the presence of chemical denaturing agents.", - "assets": [], - "sections" : [ - "INTRODUCTION", - "THEORY", - "OBJECTIVE", - "EXPERIMENT", - "MANUAL", - "QUIZZES", - "FURTHER READINGS" - ] - } -} diff --git a/specifications/iiit-hyderabad/circular-dichroism-spectroscopy/e98627.json b/specifications/iiit-hyderabad/circular-dichroism-spectroscopy/e98627.json deleted file mode 100644 index d52626c..0000000 --- a/specifications/iiit-hyderabad/circular-dichroism-spectroscopy/e98627.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "experiment": { - "id": "e98627", - "name": "To study the effect of chemical denaturants on protein stability.", - "discipline_id": "chem", - "institute_id": "iiith", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "cloud", - "hosted_url": "http://cds-iiith.vlabs.ac.in/exp9/index.html" - } - ], - "integration_level": 4, - "overview": "This experiments deals with To study the effect of chemical denaturants on protein stability.", - "assets": [], - "sections" : [ - "INTRODUCTION", - "THEORY", - "OBJECTIVE", - "EXPERIMENT", - "MANUAL", - "QUIZZES", - "FURTHER READINGS" - ] - } -} diff --git a/specifications/iiit-hyderabad/circular-dichroism-spectroscopy/e98628.json b/specifications/iiit-hyderabad/circular-dichroism-spectroscopy/e98628.json deleted file mode 100644 index 708fd92..0000000 --- a/specifications/iiit-hyderabad/circular-dichroism-spectroscopy/e98628.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "experiment": { - "id": "e98628", - "name": "To study the thermal stability of proteins.", - "discipline_id": "chem", - "institute_id": "iiith", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "cloud", - "hosted_url": "http://cds-iiith.vlabs.ac.in/exp8/index.html" - } - ], - "integration_level": 4, - "overview": "This experiments deals with To study the thermal stability of proteins.", - "assets": [], - "sections" : [ - "INTRODUCTION", - "THEORY", - "OBJECTIVE", - "EXPERIMENT", - "MANUAL", - "QUIZZES", - "FURTHER READINGS" - ] - } -} diff --git a/specifications/iiit-hyderabad/circular-dichroism-spectroscopy/e98629.json b/specifications/iiit-hyderabad/circular-dichroism-spectroscopy/e98629.json deleted file mode 100644 index c25532e..0000000 --- a/specifications/iiit-hyderabad/circular-dichroism-spectroscopy/e98629.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "experiment": { - "id": "e98629", - "name": "To deconvolute the CD spectrum of a given protein solution and to classify it in terms of its secondary structure elements.", - "discipline_id": "chem", - "institute_id": "iiith", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "cloud", - "hosted_url": "http://cds-iiith.vlabs.ac.in/exp7/index.html" - } - ], - "integration_level": 4, - "overview": "This experiments deals with To deconvolute the CD spectrum of a given protein solution and to classify it in terms of its secondary structure elements.", - "assets": [], - "sections" : [ - "INTRODUCTION", - "THEORY", - "OBJECTIVE", - "EXPERIMENT", - "MANUAL", - "QUIZZES", - "FURTHER READINGS" - ] - } -} diff --git a/specifications/iiit-hyderabad/circular-dichroism-spectroscopy/e98630.json b/specifications/iiit-hyderabad/circular-dichroism-spectroscopy/e98630.json deleted file mode 100644 index bdc36d6..0000000 --- a/specifications/iiit-hyderabad/circular-dichroism-spectroscopy/e98630.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "experiment": { - "id": "e98630", - "name": "To Study the effect of Secondary Structure elements on CD spectrum of proteins.", - "discipline_id": "chem", - "institute_id": "iiith", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "cloud", - "hosted_url": "http://cds-iiith.vlabs.ac.in/exp6/index.html" - } - ], - "integration_level": 4, - "overview": "This experiments deals with To Study the effect of Secondary Structure elements on CD spectrum of proteins.", - "assets": [], - "sections" : [ - "INTRODUCTION", - "THEORY", - "OBJECTIVE", - "EXPERIMENT", - "MANUAL", - "QUIZZES", - "FURTHER READINGS" - ] - } -} diff --git a/specifications/iiit-hyderabad/circular-dichroism-spectroscopy/e98631.json b/specifications/iiit-hyderabad/circular-dichroism-spectroscopy/e98631.json deleted file mode 100644 index 974e124..0000000 --- a/specifications/iiit-hyderabad/circular-dichroism-spectroscopy/e98631.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "experiment": { - "id": "e98631", - "name": "To Study the operational details of a CD spectrometer.", - "discipline_id": "chem", - "institute_id": "iiith", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "cloud", - "hosted_url": "http://cds-iiith.vlabs.ac.in/exp5/index.html" - } - ], - "integration_level": 4, - "overview": "This experiments deals with To Study the operational details of a CD spectrometer.", - "assets": [], - "sections" : [ - "INTRODUCTION", - "THEORY", - "OBJECTIVE", - "EXPERIMENT", - "MANUAL", - "QUIZZES", - "FURTHER READINGS" - ] - } -} diff --git a/specifications/iiit-hyderabad/circular-dichroism-spectroscopy/e98632.json b/specifications/iiit-hyderabad/circular-dichroism-spectroscopy/e98632.json deleted file mode 100644 index b8727f3..0000000 --- a/specifications/iiit-hyderabad/circular-dichroism-spectroscopy/e98632.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "experiment": { - "id": "e98632", - "name": "To study the Circular Dichroism of some substances with chiral chromophores.", - "discipline_id": "chem", - "institute_id": "iiith", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "cloud", - "hosted_url": "http://cds-iiith.vlabs.ac.in/exp4/index.html" - } - ], - "integration_level": 4, - "overview": "This experiments deals with To study the Circular Dichroism of some substances with chiral chromophores.", - "assets": [], - "sections" : [ - "INTRODUCTION", - "THEORY", - "OBJECTIVE", - "EXPERIMENT", - "MANUAL", - "QUIZZES", - "FURTHER READINGS" - ] - } -} diff --git a/specifications/iiit-hyderabad/circular-dichroism-spectroscopy/e98633.json b/specifications/iiit-hyderabad/circular-dichroism-spectroscopy/e98633.json deleted file mode 100644 index 6e41744..0000000 --- a/specifications/iiit-hyderabad/circular-dichroism-spectroscopy/e98633.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "experiment": { - "id": "e98633", - "name": "To study the Optical Rotatory Dispersion (ORD) of some chiral substances.", - "discipline_id": "chem", - "institute_id": "iiith", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "cloud", - "hosted_url": "http://cds-iiith.vlabs.ac.in/exp3/index.html" - } - ], - "integration_level": 4, - "overview": "This experiments deals with To study the Optical Rotatory Dispersion (ORD) of some chiral substances.", - "assets": [], - "sections" : [ - "Introduction" - ] - } -} diff --git a/specifications/iiit-hyderabad/circular-dichroism-spectroscopy/e98634.json b/specifications/iiit-hyderabad/circular-dichroism-spectroscopy/e98634.json deleted file mode 100644 index 8e0bbf5..0000000 --- a/specifications/iiit-hyderabad/circular-dichroism-spectroscopy/e98634.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "experiment": { - "id": "e98634", - "name": "To understand the effect of chiral substances on plane polarized light as a function of wavelength.", - "discipline_id": "chem", - "institute_id": "iiith", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "cloud", - "hosted_url": "http://cds-iiith.vlabs.ac.in/exp2/index.html" - } - ], - "integration_level": 4, - "overview": "This experiments deals with To understand the effect of chiral substances on plane polarized light as a function of wavelength.", - "assets": [], - "sections" : [ - "INTRODUCTION", - "THEORY", - "OBJECTIVE", - "EXPERIMENT", - "MANUAL", - "QUIZZES", - "FURTHER READINGS" - ] - } -} diff --git a/specifications/iiit-hyderabad/circular-dichroism-spectroscopy/e98635.json b/specifications/iiit-hyderabad/circular-dichroism-spectroscopy/e98635.json deleted file mode 100644 index 79c962a..0000000 --- a/specifications/iiit-hyderabad/circular-dichroism-spectroscopy/e98635.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "experiment": { - "id": "e98635", - "name": "To determine the specific rotation of a sugar using a polarimeter.", - "discipline_id": "chem", - "institute_id": "iiith", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "cloud", - "hosted_url": "http://cds-iiith.vlabs.ac.in/exp1/index.html" - } - ], - "integration_level": 4, - "overview": "This experiments deals with To determine the specific rotation of a sugar using a polarimeter.", - "assets": [], - "sections" : [ - "INTRODUCTION", - "THEORY", - "OBJECTIVE", - "EXPERIMENT", - "MANUAL", - "QUIZZES", - "FURTHER READINGS" - ] - } -} diff --git a/specifications/iiit-hyderabad/colloid-and-surface-chemistry/colloid-and-surface-chemistry.json b/specifications/iiit-hyderabad/colloid-and-surface-chemistry/colloid-and-surface-chemistry.json deleted file mode 100644 index 2a51da5..0000000 --- a/specifications/iiit-hyderabad/colloid-and-surface-chemistry/colloid-and-surface-chemistry.json +++ /dev/null @@ -1,37 +0,0 @@ -{ - "lab": { - "id": "ccnsb02", - "name": "colloid and surface chemistry", - "discipline_id": "chem", - "institute_id": "iiith", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "cloud", - "hosted_url": "http://csc-iiith.vlabs.ac.in/" - } - ], - "integration_level": 4, - "overview": "This lab deals with colloid and surface chemistry", - "assets": [], - "sections": [ - { - "name": "Introduction" - }, - { - "experiments" : [ - "e98755", - "e98754", - "e98753", - "e98752", - "e98751", - "e98750", - "e99280", - "e98749", - "e98748" - ] - } - ] - } -} diff --git a/specifications/iiit-hyderabad/colloid-and-surface-chemistry/dump_json_to_lds.py b/specifications/iiit-hyderabad/colloid-and-surface-chemistry/dump_json_to_lds.py deleted file mode 100644 index 78c74fa..0000000 --- a/specifications/iiit-hyderabad/colloid-and-surface-chemistry/dump_json_to_lds.py +++ /dev/null @@ -1,44 +0,0 @@ - -import os -import os.path -import json -import requests -import glob - -URL= 'http://localhost:5000' -json_path_list = [] - -def post_lab_spec(file_path): - - with open(file_path) as json_file: - print file_path - data = json.load(json_file) - if 'lab' in data.keys(): - end_point = "/labs" - if 'experiment' in data.keys(): - end_point = "/experiments" - - data['key'] = 'defaultkey' - APP_URL = URL + end_point - headers = {'Content-Type': 'application/json'} - try: - response = requests.post(APP_URL, data = json.dumps(data), - headers=headers) - if response.status_code == 200: - print "Added json data : " + file_path - else: - print "Errore in adding json file " + file_path + " due to " + response.text - except Exception as e: - print str(e) -try: - exp_file_list = glob.glob(os.getcwd() + "/e9*.json") - lab_file_list = glob.glob(os.getcwd() + "/[!e9]*.json") - - for filename in exp_file_list: - json_path_list.append(filename) -except Exception as e: - print str(e) - -for file_path in json_path_list: - post_lab_spec(file_path) -post_lab_spec(lab_file_list[0]) diff --git a/specifications/iiit-hyderabad/colloid-and-surface-chemistry/e98748.json b/specifications/iiit-hyderabad/colloid-and-surface-chemistry/e98748.json deleted file mode 100644 index 129fef0..0000000 --- a/specifications/iiit-hyderabad/colloid-and-surface-chemistry/e98748.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "experiment": { - "id": "e98748", - "name": "Study of the Catalytic Effects of Finely Divided Particles", - "discipline_id": "chem", - "institute_id": "iiith", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "cloud", - "hosted_url": "http://csc-iiith.vlabs.ac.in/exp15/index.html" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Study of the Catalytic Effects of Finely Divided Particles", - "assets": [], - "sections" : [ - "Introduction", - "Objective", - "Theory", - "Procedure", - "Simulator", - "Quiz", - "References", - "Experiments", - "Feedback" - ] - } -} diff --git a/specifications/iiit-hyderabad/colloid-and-surface-chemistry/e98749.json b/specifications/iiit-hyderabad/colloid-and-surface-chemistry/e98749.json deleted file mode 100644 index 6df29e5..0000000 --- a/specifications/iiit-hyderabad/colloid-and-surface-chemistry/e98749.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "experiment": { - "id": "e98749", - "name": "Demonstration of the Surface-Effect on Chemical Properties of Finely Divided Particle", - "discipline_id": "chem", - "institute_id": "iiith", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "cloud", - "hosted_url": "http://csc-iiith.vlabs.ac.in/exp8/index.html" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Demonstration of the Surface-Effect on Chemical Properties of Finely Divided Particle", - "assets": [], - "sections" : [ - "Introduction", - "Objective", - "Theory", - "Procedure", - "Simulator", - "Quiz", - "References", - "Experiments", - "Feedback" - ] - } -} diff --git a/specifications/iiit-hyderabad/colloid-and-surface-chemistry/e98750.json b/specifications/iiit-hyderabad/colloid-and-surface-chemistry/e98750.json deleted file mode 100644 index 56b8a19..0000000 --- a/specifications/iiit-hyderabad/colloid-and-surface-chemistry/e98750.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "experiment": { - "id": "e98750", - "name": "Demonstration of Tyndall Effect or Tyndall Scattering in Colloidal Systems", - "discipline_id": "chem", - "institute_id": "iiith", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "cloud", - "hosted_url": "http://csc-iiith.vlabs.ac.in/exp5/index.html" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Demonstration of Tyndall Effect or Tyndall Scattering in Colloidal Systems", - "assets": [], - "sections" : [ - "Introduction", - "Objective", - "Theory", - "Procedure", - "Simulator", - "Quiz", - "References", - "Experiments", - "Feedback" - ] - } -} diff --git a/specifications/iiit-hyderabad/colloid-and-surface-chemistry/e98751.json b/specifications/iiit-hyderabad/colloid-and-surface-chemistry/e98751.json deleted file mode 100644 index 66774fd..0000000 --- a/specifications/iiit-hyderabad/colloid-and-surface-chemistry/e98751.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "experiment": { - "id": "e98751", - "name": "Demonstration of the Surface Tension Lowering of Water by Soaps/Detergents", - "discipline_id": "chem", - "institute_id": "iiith", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "cloud", - "hosted_url": "http://csc-iiith.vlabs.ac.in/exp4/index.html" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Demonstration of the Surface Tension Lowering of Water by Soaps/Detergents", - "assets": [], - "sections" : [ - "Introduction", - "Objective", - "Theory", - "Procedure", - "Simulator", - "Quiz", - "References", - "Experiments", - "Feedback" - ] - } -} diff --git a/specifications/iiit-hyderabad/colloid-and-surface-chemistry/e98752.json b/specifications/iiit-hyderabad/colloid-and-surface-chemistry/e98752.json deleted file mode 100644 index 9c9cd9f..0000000 --- a/specifications/iiit-hyderabad/colloid-and-surface-chemistry/e98752.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "experiment": { - "id": "e98752", - "name": "Determination of Critical Micelle Concentration (CMC) of a Surfactant", - "discipline_id": "chem", - "institute_id": "iiith", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "cloud", - "hosted_url": "http://csc-iiith.vlabs.ac.in/exp14/index.html" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Determination of Critical Micelle Concentration (CMC) of a Surfactant", - "assets": [], - "sections" : [ - "Introduction", - "Objective", - "Theory", - "Procedure", - "Simulator", - "Quiz", - "References", - "Experiments", - "Feedback" - ] - } -} diff --git a/specifications/iiit-hyderabad/colloid-and-surface-chemistry/e98753.json b/specifications/iiit-hyderabad/colloid-and-surface-chemistry/e98753.json deleted file mode 100644 index 79ca3f5..0000000 --- a/specifications/iiit-hyderabad/colloid-and-surface-chemistry/e98753.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "experiment": { - "id": "e98753", - "name": "Demonstration of the Preparation and Use of Association Colloids (Micelles)", - "discipline_id": "chem", - "institute_id": "iiith", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "cloud", - "hosted_url": "http://csc-iiith.vlabs.ac.in/exp3/index.html" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Demonstration of the Preparation and Use of Association Colloids (Micelles)", - "assets": [], - "sections" : [ - "Introduction", - "Objective", - "Theory", - "Simulator", - "Quiz", - "References", - "Experiments", - "Feedback" - ] - } -} diff --git a/specifications/iiit-hyderabad/colloid-and-surface-chemistry/e98754.json b/specifications/iiit-hyderabad/colloid-and-surface-chemistry/e98754.json deleted file mode 100644 index dedc7c5..0000000 --- a/specifications/iiit-hyderabad/colloid-and-surface-chemistry/e98754.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "experiment": { - "id": "e98754", - "name": "Preparation of Gels", - "discipline_id": "chem", - "institute_id": "iiith", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "cloud", - "hosted_url": "http://csc-iiith.vlabs.ac.in/exp2/index.html" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Preparation of Gels", - "assets": [], - "sections" : [ - "Introduction", - "Objective", - "Theory", - "Procedure", - "Simulator", - "Quiz", - "References", - "Experiments", - "Feedback" - ] - } -} diff --git a/specifications/iiit-hyderabad/colloid-and-surface-chemistry/e98755.json b/specifications/iiit-hyderabad/colloid-and-surface-chemistry/e98755.json deleted file mode 100644 index c919c84..0000000 --- a/specifications/iiit-hyderabad/colloid-and-surface-chemistry/e98755.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "experiment": { - "id": "e98755", - "name": "Preparation of Sols", - "discipline_id": "chem", - "institute_id": "iiith", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "cloud", - "hosted_url": "http://csc-iiith.vlabs.ac.in/exp1/index.html" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Preparation of Sols", - "assets": [], - "sections" : [ - "Introduction", - "Objective", - "Theory", - "Procedure", - "Simulator", - "Quiz", - "References", - "Experiments", - "Feedback" - ] - } -} diff --git a/specifications/iiit-hyderabad/colloid-and-surface-chemistry/e99280.json b/specifications/iiit-hyderabad/colloid-and-surface-chemistry/e99280.json deleted file mode 100644 index b60b947..0000000 --- a/specifications/iiit-hyderabad/colloid-and-surface-chemistry/e99280.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "experiment": { - "id": "e99280", - "name": "Gel Electrophoresis", - "discipline_id": "chem", - "institute_id": "iiith", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "cloud", - "hosted_url": "http://csc-iiith.vlabs.ac.in/exp7/index.html" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Gel Electrophoresis", - "assets": [], - "sections" : [ - "Introduction", - "Objective", - "Theory", - "Procedure", - "Simulator", - "Quiz", - "References", - "Experiments", - "Feedback" - ] - } -} diff --git a/specifications/iiit-hyderabad/data-mining/data-mining.json b/specifications/iiit-hyderabad/data-mining/data-mining.json deleted file mode 100644 index a3b2624..0000000 --- a/specifications/iiit-hyderabad/data-mining/data-mining.json +++ /dev/null @@ -1,38 +0,0 @@ -{ - "lab": { - "id": "cse06", - "name": "data mining", - "discipline_id": "cse", - "institute_id": "iiith", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://cse06-iiith.virtual-labs.ac.in/" - } - ], - "integration_level": 4, - "overview": "This lab deals with data mining", - "assets": [], - "sections": [ - { - "name": "Introduction" - }, - { - "experiments" : [ - "e98564", - "e98563", - "e98562", - "e98561", - "e98560", - "e98559", - "e98558", - "e98557", - "e98556", - "e98555" - ] - } - ] - } -} diff --git a/specifications/iiit-hyderabad/data-mining/dump_json_to_lds.py b/specifications/iiit-hyderabad/data-mining/dump_json_to_lds.py deleted file mode 100644 index 78c74fa..0000000 --- a/specifications/iiit-hyderabad/data-mining/dump_json_to_lds.py +++ /dev/null @@ -1,44 +0,0 @@ - -import os -import os.path -import json -import requests -import glob - -URL= 'http://localhost:5000' -json_path_list = [] - -def post_lab_spec(file_path): - - with open(file_path) as json_file: - print file_path - data = json.load(json_file) - if 'lab' in data.keys(): - end_point = "/labs" - if 'experiment' in data.keys(): - end_point = "/experiments" - - data['key'] = 'defaultkey' - APP_URL = URL + end_point - headers = {'Content-Type': 'application/json'} - try: - response = requests.post(APP_URL, data = json.dumps(data), - headers=headers) - if response.status_code == 200: - print "Added json data : " + file_path - else: - print "Errore in adding json file " + file_path + " due to " + response.text - except Exception as e: - print str(e) -try: - exp_file_list = glob.glob(os.getcwd() + "/e9*.json") - lab_file_list = glob.glob(os.getcwd() + "/[!e9]*.json") - - for filename in exp_file_list: - json_path_list.append(filename) -except Exception as e: - print str(e) - -for file_path in json_path_list: - post_lab_spec(file_path) -post_lab_spec(lab_file_list[0]) diff --git a/specifications/iiit-hyderabad/data-mining/e98555.json b/specifications/iiit-hyderabad/data-mining/e98555.json deleted file mode 100644 index 13e47af..0000000 --- a/specifications/iiit-hyderabad/data-mining/e98555.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "experiment": { - "id": "e98555", - "name": "Comparison of Classification algorithms", - "discipline_id": "cse", - "institute_id": "iiith", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://cse06-iiith.virtual-labs.ac.in/exp1/index.html#mode=edit" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Comparison of Classification algorithms", - "assets": [], - "sections" : [ - "INTRODUCTION", - "THEORY", - "OBJECTIVE", - "ASSIGMENT", - "PROCEDURE", - "FURTHER READING" - ] - } -} diff --git a/specifications/iiit-hyderabad/data-mining/e98556.json b/specifications/iiit-hyderabad/data-mining/e98556.json deleted file mode 100644 index fb940fa..0000000 --- a/specifications/iiit-hyderabad/data-mining/e98556.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "experiment": { - "id": "e98556", - "name": "Decision Tree (Classification algorithm)", - "discipline_id": "cse", - "institute_id": "iiith", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://cse06-iiith.virtual-labs.ac.in/exp1/index.html#mode=edit" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Decision Tree (Classification algorithm)", - "assets": [], - "sections" : [ - "INTRODUCTION", - "THEORY", - "OBJECTIVE", - "ASSIGMENT", - "PROCEDURE", - "FURTHER READING" - ] - } -} diff --git a/specifications/iiit-hyderabad/data-mining/e98557.json b/specifications/iiit-hyderabad/data-mining/e98557.json deleted file mode 100644 index 7ec9e36..0000000 --- a/specifications/iiit-hyderabad/data-mining/e98557.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "experiment": { - "id": "e98557", - "name": "kNN (A nearest neighbour based classification algorithm)", - "discipline_id": "cse", - "institute_id": "iiith", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://cse06-iiith.virtual-labs.ac.in/exp1/index.html#mode=edit" - } - ], - "integration_level": 4, - "overview": "This experiments deals with kNN (A nearest neighbour based classification algorithm)", - "assets": [], - "sections" : [ - "INTRODUCTION", - "THEORY", - "OBJECTIVE", - "ASSIGMENT", - "PROCEDURE", - "FURTHER READING" - ] - } -} diff --git a/specifications/iiit-hyderabad/data-mining/e98558.json b/specifications/iiit-hyderabad/data-mining/e98558.json deleted file mode 100644 index f756cd2..0000000 --- a/specifications/iiit-hyderabad/data-mining/e98558.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "experiment": { - "id": "e98558", - "name": "DBSCAN (A density-based clustering algorithm)", - "discipline_id": "cse", - "institute_id": "iiith", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://cse06-iiith.virtual-labs.ac.in/exp1/index.html#mode=edit" - } - ], - "integration_level": 4, - "overview": "This experiments deals with DBSCAN (A density-based clustering algorithm)", - "assets": [], - "sections" : [ - "INTRODUCTION", - "THEORY", - "OBJECTIVE", - "ASSIGMENT", - "PROCEDURE", - "FURTHER READING" - ] - } -} diff --git a/specifications/iiit-hyderabad/data-mining/e98559.json b/specifications/iiit-hyderabad/data-mining/e98559.json deleted file mode 100644 index 17d103b..0000000 --- a/specifications/iiit-hyderabad/data-mining/e98559.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "experiment": { - "id": "e98559", - "name": "Agglomerative Clustering (A hierachial clustering algorithm)", - "discipline_id": "cse", - "institute_id": "iiith", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://cse06-iiith.virtual-labs.ac.in/exp1/index.html#mode=edit" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Agglomerative Clustering (A hierachial clustering algorithm)", - "assets": [], - "sections" : [ - "INTRODUCTION", - "THEORY", - "OBJECTIVE", - "ASSIGMENT", - "PROCEDURE", - "FURTHER READING" - ] - } -} diff --git a/specifications/iiit-hyderabad/data-mining/e98560.json b/specifications/iiit-hyderabad/data-mining/e98560.json deleted file mode 100644 index b5c5d58..0000000 --- a/specifications/iiit-hyderabad/data-mining/e98560.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "experiment": { - "id": "e98560", - "name": "k-Means (A partitioning clustering algorithm)", - "discipline_id": "cse", - "institute_id": "iiith", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://cse06-iiith.virtual-labs.ac.in/exp1/index.html#mode=edit" - } - ], - "integration_level": 4, - "overview": "This experiments deals with k-Means (A partitioning clustering algorithm)", - "assets": [], - "sections" : [ - "INTRODUCTION", - "THEORY", - "OBJECTIVE", - "ASSIGMENT", - "PROCEDURE", - "FURTHER READING" - ] - } -} diff --git a/specifications/iiit-hyderabad/data-mining/e98561.json b/specifications/iiit-hyderabad/data-mining/e98561.json deleted file mode 100644 index 8c47362..0000000 --- a/specifications/iiit-hyderabad/data-mining/e98561.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "experiment": { - "id": "e98561", - "name": "Comparison of Association Rule Mining Algorithms", - "discipline_id": "cse", - "institute_id": "iiith", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://cse06-iiith.virtual-labs.ac.in/exp1/index.html#mode=edit" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Comparison of Association Rule Mining Algorithms", - "assets": [], - "sections" : [ - "INTRODUCTION", - "THEORY", - "OBJECTIVE", - "ASSIGMENT", - "PROCEDURE", - "FURTHER READING" - ] - } -} diff --git a/specifications/iiit-hyderabad/data-mining/e98562.json b/specifications/iiit-hyderabad/data-mining/e98562.json deleted file mode 100644 index 2142a28..0000000 --- a/specifications/iiit-hyderabad/data-mining/e98562.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "experiment": { - "id": "e98562", - "name": "Partition (An association rule mining algorithm)", - "discipline_id": "cse", - "institute_id": "iiith", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://cse06-iiith.virtual-labs.ac.in/exp1/index.html#mode=edit" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Partition (An association rule mining algorithm)", - "assets": [], - "sections" : [ - "INTRODUCTION", - "THEORY", - "OBJECTIVE", - "ASSIGMENT", - "PROCEDURE", - "FURTHER READING" - ] - } -} diff --git a/specifications/iiit-hyderabad/data-mining/e98563.json b/specifications/iiit-hyderabad/data-mining/e98563.json deleted file mode 100644 index 565023b..0000000 --- a/specifications/iiit-hyderabad/data-mining/e98563.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "experiment": { - "id": "e98563", - "name": "Sampling (An association rule mining algorithm)", - "discipline_id": "cse", - "institute_id": "iiith", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://cse06-iiith.virtual-labs.ac.in/exp1/index.html#mode=edit" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Sampling (An association rule mining algorithm)", - "assets": [], - "sections" : [ - "INTRODUCTION", - "THEORY", - "OBJECTIVE", - "ASSIGMENT", - "PROCEDURE", - "FURTHER READING" - ] - } -} diff --git a/specifications/iiit-hyderabad/data-mining/e98564.json b/specifications/iiit-hyderabad/data-mining/e98564.json deleted file mode 100644 index 367fb96..0000000 --- a/specifications/iiit-hyderabad/data-mining/e98564.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "experiment": { - "id": "e98564", - "name": "Apriori (An association rule mining algorithm)", - "discipline_id": "cse", - "institute_id": "iiith", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://cse06-iiith.virtual-labs.ac.in/exp1/index.html#mode=edit" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Apriori (An association rule mining algorithm)", - "assets": [], - "sections" : [ - "INTRODUCTION", - "THEORY", - "OBJECTIVE", - "ASSIGMENT", - "PROCEDURE", - "FURTHER READING" - ] - } -} diff --git a/specifications/iiit-hyderabad/databases/databases.json b/specifications/iiit-hyderabad/databases/databases.json deleted file mode 100644 index 0e6eba7..0000000 --- a/specifications/iiit-hyderabad/databases/databases.json +++ /dev/null @@ -1,38 +0,0 @@ -{ - "lab": { - "id": "cse07", - "name": "databases", - "discipline_id": "cse", - "institute_id": "iiith", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://sage.virtual-labs.ac.in/home/pub/1/" - } - ], - "integration_level": 4, - "overview": "This lab deals with databases", - "assets": [], - "sections": [ - { - "name": "Introduction" - }, - { - "experiments" : [ - "e98584", - "e98583", - "e98582", - "e98581", - "e98580", - "e98579", - "e98578", - "e98577", - "e98576", - "e98575" - ] - } - ] - } -} diff --git a/specifications/iiit-hyderabad/databases/dump_json_to_lds.py b/specifications/iiit-hyderabad/databases/dump_json_to_lds.py deleted file mode 100644 index 78c74fa..0000000 --- a/specifications/iiit-hyderabad/databases/dump_json_to_lds.py +++ /dev/null @@ -1,44 +0,0 @@ - -import os -import os.path -import json -import requests -import glob - -URL= 'http://localhost:5000' -json_path_list = [] - -def post_lab_spec(file_path): - - with open(file_path) as json_file: - print file_path - data = json.load(json_file) - if 'lab' in data.keys(): - end_point = "/labs" - if 'experiment' in data.keys(): - end_point = "/experiments" - - data['key'] = 'defaultkey' - APP_URL = URL + end_point - headers = {'Content-Type': 'application/json'} - try: - response = requests.post(APP_URL, data = json.dumps(data), - headers=headers) - if response.status_code == 200: - print "Added json data : " + file_path - else: - print "Errore in adding json file " + file_path + " due to " + response.text - except Exception as e: - print str(e) -try: - exp_file_list = glob.glob(os.getcwd() + "/e9*.json") - lab_file_list = glob.glob(os.getcwd() + "/[!e9]*.json") - - for filename in exp_file_list: - json_path_list.append(filename) -except Exception as e: - print str(e) - -for file_path in json_path_list: - post_lab_spec(file_path) -post_lab_spec(lab_file_list[0]) diff --git a/specifications/iiit-hyderabad/databases/e98575.json b/specifications/iiit-hyderabad/databases/e98575.json deleted file mode 100644 index 90ba066..0000000 --- a/specifications/iiit-hyderabad/databases/e98575.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "experiment": { - "id": "e98575", - "name": "SQL 3", - "discipline_id": "cse", - "institute_id": "iiith", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://sage.virtual-labs.ac.in/home/pub/22/" - } - ], - "integration_level": 4, - "overview": "This experiments deals with SQL 3", - "assets": [], - "sections" : [ - "Introduction", - "Theory", - "Procedure", - "Simulation", - "References" - ] - } -} diff --git a/specifications/iiit-hyderabad/databases/e98576.json b/specifications/iiit-hyderabad/databases/e98576.json deleted file mode 100644 index a4a583c..0000000 --- a/specifications/iiit-hyderabad/databases/e98576.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "experiment": { - "id": "e98576", - "name": "SQL 2", - "discipline_id": "cse", - "institute_id": "iiith", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://sage.virtual-labs.ac.in/home/pub/21/" - } - ], - "integration_level": 4, - "overview": "This experiments deals with SQL 2", - "assets": [], - "sections" : [ - "Introduction", - "Theory", - "Procedure", - "Simulation", - "Quiz", - "References" - ] - } -} diff --git a/specifications/iiit-hyderabad/databases/e98577.json b/specifications/iiit-hyderabad/databases/e98577.json deleted file mode 100644 index 6eebe69..0000000 --- a/specifications/iiit-hyderabad/databases/e98577.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "experiment": { - "id": "e98577", - "name": "SQL 1", - "discipline_id": "cse", - "institute_id": "iiith", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://sage.virtual-labs.ac.in/home/pub/20/" - } - ], - "integration_level": 4, - "overview": "This experiments deals with SQL 1", - "assets": [], - "sections" : [ - "Introduction", - "Theory", - "Procedure", - "Simulation", - "References" - ] - } -} diff --git a/specifications/iiit-hyderabad/databases/e98578.json b/specifications/iiit-hyderabad/databases/e98578.json deleted file mode 100644 index 4c56fe4..0000000 --- a/specifications/iiit-hyderabad/databases/e98578.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "experiment": { - "id": "e98578", - "name": "Boyce Codd Normal Form", - "discipline_id": "cse", - "institute_id": "iiith", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://sage.virtual-labs.ac.in/home/pub/19/" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Boyce Codd Normal Form", - "assets": [], - "sections" : [ - "Introduction", - "Theory/Procedure", - "Simulation", - "Quiz", - "References" - ] - } -} diff --git a/specifications/iiit-hyderabad/databases/e98579.json b/specifications/iiit-hyderabad/databases/e98579.json deleted file mode 100644 index cef04e9..0000000 --- a/specifications/iiit-hyderabad/databases/e98579.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "experiment": { - "id": "e98579", - "name": "3rd Normal Form", - "discipline_id": "cse", - "institute_id": "iiith", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://sage.virtual-labs.ac.in/home/pub/18/" - } - ], - "integration_level": 4, - "overview": "This experiments deals with 3rd Normal Form", - "assets": [], - "sections" : [ - "Introduction", - "Theory", - "Procedure", - "Simulation", - "Quiz", - "References" - ] - } -} diff --git a/specifications/iiit-hyderabad/databases/e98580.json b/specifications/iiit-hyderabad/databases/e98580.json deleted file mode 100644 index da15cd1..0000000 --- a/specifications/iiit-hyderabad/databases/e98580.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "experiment": { - "id": "e98580", - "name": "2nd Normal Form", - "discipline_id": "cse", - "institute_id": "iiith", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://sage.virtual-labs.ac.in/home/pub/17/" - } - ], - "integration_level": 4, - "overview": "This experiments deals with 2nd Normal Form", - "assets": [], - "sections" : [ - "Introduction", - "Theory", - "Procedure", - "Simulation", - "Quiz", - "References" - ] - } -} diff --git a/specifications/iiit-hyderabad/databases/e98581.json b/specifications/iiit-hyderabad/databases/e98581.json deleted file mode 100644 index 0e7588a..0000000 --- a/specifications/iiit-hyderabad/databases/e98581.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "experiment": { - "id": "e98581", - "name": "1st Normal Form", - "discipline_id": "cse", - "institute_id": "iiith", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://sage.virtual-labs.ac.in/home/pub/16/" - } - ], - "integration_level": 4, - "overview": "This experiments deals with 1st Normal Form", - "assets": [], - "sections" : [ - "Introduction", - "Theory", - "Procedure", - "Simulation", - "Quiz", - "References" - ] - } -} diff --git a/specifications/iiit-hyderabad/databases/e98582.json b/specifications/iiit-hyderabad/databases/e98582.json deleted file mode 100644 index 8eac9ac..0000000 --- a/specifications/iiit-hyderabad/databases/e98582.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "experiment": { - "id": "e98582", - "name": "Relational Model", - "discipline_id": "cse", - "institute_id": "iiith", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://sage.virtual-labs.ac.in/home/pub/15/" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Relational Model", - "assets": [], - "sections" : [ - "Introduction", - "Theory", - "Objective", - "Practice", - "Simulation", - "Quiz", - "Further-readings" - ] - } -} diff --git a/specifications/iiit-hyderabad/databases/e98583.json b/specifications/iiit-hyderabad/databases/e98583.json deleted file mode 100644 index 90aa16d..0000000 --- a/specifications/iiit-hyderabad/databases/e98583.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "experiment": { - "id": "e98583", - "name": "Enhanced ER Model", - "discipline_id": "cse", - "institute_id": "iiith", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://sage.virtual-labs.ac.in/home/pub/14/" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Enhanced ER Model", - "assets": [], - "sections" : [ - "Introduction", - "Theory", - "Objective", - "Simulation", - "Quiz", - "Further-readings" - ] - } -} diff --git a/specifications/iiit-hyderabad/databases/e98584.json b/specifications/iiit-hyderabad/databases/e98584.json deleted file mode 100644 index 709a22f..0000000 --- a/specifications/iiit-hyderabad/databases/e98584.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "experiment": { - "id": "e98584", - "name": "ER Model", - "discipline_id": "cse", - "institute_id": "iiith", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://sage.virtual-labs.ac.in/home/pub/13/" - } - ], - "integration_level": 4, - "overview": "This experiments deals with ER Model", - "assets": [], - "sections" : [ - "Introduction", - "Theory", - "Objective", - "Simulation", - "Quiz", - "Further-readings" - ] - } -} diff --git a/specifications/iiit-hyderabad/electromagnetic-theory/dump_json_to_lds.py b/specifications/iiit-hyderabad/electromagnetic-theory/dump_json_to_lds.py deleted file mode 100644 index 78c74fa..0000000 --- a/specifications/iiit-hyderabad/electromagnetic-theory/dump_json_to_lds.py +++ /dev/null @@ -1,44 +0,0 @@ - -import os -import os.path -import json -import requests -import glob - -URL= 'http://localhost:5000' -json_path_list = [] - -def post_lab_spec(file_path): - - with open(file_path) as json_file: - print file_path - data = json.load(json_file) - if 'lab' in data.keys(): - end_point = "/labs" - if 'experiment' in data.keys(): - end_point = "/experiments" - - data['key'] = 'defaultkey' - APP_URL = URL + end_point - headers = {'Content-Type': 'application/json'} - try: - response = requests.post(APP_URL, data = json.dumps(data), - headers=headers) - if response.status_code == 200: - print "Added json data : " + file_path - else: - print "Errore in adding json file " + file_path + " due to " + response.text - except Exception as e: - print str(e) -try: - exp_file_list = glob.glob(os.getcwd() + "/e9*.json") - lab_file_list = glob.glob(os.getcwd() + "/[!e9]*.json") - - for filename in exp_file_list: - json_path_list.append(filename) -except Exception as e: - print str(e) - -for file_path in json_path_list: - post_lab_spec(file_path) -post_lab_spec(lab_file_list[0]) diff --git a/specifications/iiit-hyderabad/electromagnetic-theory/e98565.json b/specifications/iiit-hyderabad/electromagnetic-theory/e98565.json deleted file mode 100644 index 9b0c5f4..0000000 --- a/specifications/iiit-hyderabad/electromagnetic-theory/e98565.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "experiment": { - "id": "e98565", - "name": "Plane Waves - Reflection and Refraction", - "discipline_id": "ece", - "institute_id": "iiith", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "cloud", - "hosted_url": "http://emt-iiith.vlabs.ac.in/Experiment.php?code=C010" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Plane Waves - Reflection and Refraction", - "assets": [], - "sections" : [ - "Introduction", - "Objective", - "Video Tutorial", - "Procedure", - "Virtual Experiment", - "Theory", - "Quiz", - "References", - "Feedback" - ] - } -} diff --git a/specifications/iiit-hyderabad/electromagnetic-theory/e98566.json b/specifications/iiit-hyderabad/electromagnetic-theory/e98566.json deleted file mode 100644 index 23e59b2..0000000 --- a/specifications/iiit-hyderabad/electromagnetic-theory/e98566.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "experiment": { - "id": "e98566", - "name": "Distance and Altitude Measurement", - "discipline_id": "ece", - "institute_id": "iiith", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "cloud", - "hosted_url": "http://emt-iiith.vlabs.ac.in/Experiment.php?code=C009" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Distance and Altitude Measurement", - "assets": [], - "sections" : [ - "Introduction", - "Objective", - "Video Tutorial", - "Procedure", - "Virtual Experiment", - "Theory", - "Quiz", - "References", - "Feedback" - ] - } -} diff --git a/specifications/iiit-hyderabad/electromagnetic-theory/e98567.json b/specifications/iiit-hyderabad/electromagnetic-theory/e98567.json deleted file mode 100644 index 3b0cef8..0000000 --- a/specifications/iiit-hyderabad/electromagnetic-theory/e98567.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "experiment": { - "id": "e98567", - "name": "Wave Propagation", - "discipline_id": "ece", - "institute_id": "iiith", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "cloud", - "hosted_url": "http://emt-iiith.vlabs.ac.in/Experiment.php?code=C008" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Wave Propagation", - "assets": [], - "sections" : [ - "Introduction", - "Objective", - "Video Tutorial", - "Procedure", - "Virtual Experiment", - "Theory", - "Quiz", - "References", - "Feedback" - ] - } -} diff --git a/specifications/iiit-hyderabad/electromagnetic-theory/e98568.json b/specifications/iiit-hyderabad/electromagnetic-theory/e98568.json deleted file mode 100644 index 9a5a1ae..0000000 --- a/specifications/iiit-hyderabad/electromagnetic-theory/e98568.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "experiment": { - "id": "e98568", - "name": "Application of Faraday's Laws", - "discipline_id": "ece", - "institute_id": "iiith", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "cloud", - "hosted_url": "http://emt-iiith.vlabs.ac.in/Experiment.php?code=C007" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Application of Faraday's Laws", - "assets": [], - "sections" : [ - "Introduction", - "Objective", - "Video Tutorial", - "Procedure", - "Virtual Experiment", - "Theory", - "Quiz", - "References", - "Feedback" - ] - } -} diff --git a/specifications/iiit-hyderabad/electromagnetic-theory/e98569.json b/specifications/iiit-hyderabad/electromagnetic-theory/e98569.json deleted file mode 100644 index 26d0e61..0000000 --- a/specifications/iiit-hyderabad/electromagnetic-theory/e98569.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "experiment": { - "id": "e98569", - "name": "Magnetostatic Fields", - "discipline_id": "ece", - "institute_id": "iiith", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "cloud", - "hosted_url": "http://emt-iiith.vlabs.ac.in/Experiment.php?code=C006" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Magnetostatic Fields", - "assets": [], - "sections" : [ - "Introduction", - "Objective", - "Video Tutorial", - "Procedure", - "Virtual Experiment", - "Theory", - "Quiz", - "References", - "Feedback" - ] - } -} diff --git a/specifications/iiit-hyderabad/electromagnetic-theory/e98570.json b/specifications/iiit-hyderabad/electromagnetic-theory/e98570.json deleted file mode 100644 index f8a0d02..0000000 --- a/specifications/iiit-hyderabad/electromagnetic-theory/e98570.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "experiment": { - "id": "e98570", - "name": "Electric Field in Material Space", - "discipline_id": "ece", - "institute_id": "iiith", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "cloud", - "hosted_url": "http://emt-iiith.vlabs.ac.in/Experiment.php?code=C005" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Electric Field in Material Space", - "assets": [], - "sections" : [ - "Introduction", - "Objective", - "Video Tutorial", - "Procedure", - "Virtual Experiment", - "Theory", - "Quiz", - "References", - "Feedback" - ] - } -} diff --git a/specifications/iiit-hyderabad/electromagnetic-theory/e98571.json b/specifications/iiit-hyderabad/electromagnetic-theory/e98571.json deleted file mode 100644 index 5219164..0000000 --- a/specifications/iiit-hyderabad/electromagnetic-theory/e98571.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "experiment": { - "id": "e98571", - "name": "Boundary Conditions", - "discipline_id": "ece", - "institute_id": "iiith", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "cloud", - "hosted_url": "http://emt-iiith.vlabs.ac.in/Experiment.php?code=C004" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Boundary Conditions", - "assets": [], - "sections" : [ - "Introduction", - "Objective", - "Video Tutorial", - "Procedure", - "Virtual Experiment", - "Theory", - "Quiz", - "References", - "Feedback" - ] - } -} diff --git a/specifications/iiit-hyderabad/electromagnetic-theory/e98572.json b/specifications/iiit-hyderabad/electromagnetic-theory/e98572.json deleted file mode 100644 index abfb2da..0000000 --- a/specifications/iiit-hyderabad/electromagnetic-theory/e98572.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "experiment": { - "id": "e98572", - "name": "Electrostatic Fields II", - "discipline_id": "ece", - "institute_id": "iiith", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "cloud", - "hosted_url": "http://emt-iiith.vlabs.ac.in/Experiment.php?code=C003" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Electrostatic Fields II", - "assets": [], - "sections" : [ - "Introduction", - "Objective", - "Video Tutorial", - "Procedure", - "Virtual Experiment", - "Theory", - "Quiz", - "References", - "Feedback" - ] - } -} diff --git a/specifications/iiit-hyderabad/electromagnetic-theory/e98573.json b/specifications/iiit-hyderabad/electromagnetic-theory/e98573.json deleted file mode 100644 index 60d1d43..0000000 --- a/specifications/iiit-hyderabad/electromagnetic-theory/e98573.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "experiment": { - "id": "e98573", - "name": "Electrostatic Fields I", - "discipline_id": "ece", - "institute_id": "iiith", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "cloud", - "hosted_url": "http://emt-iiith.vlabs.ac.in/Experiment.php?code=C002" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Electrostatic Fields I", - "assets": [], - "sections" : [ - "Introduction", - "Objective", - "Video Tutorial", - "Procedure", - "Virtual Experiment", - "Theory", - "Quiz", - "References", - "Feedback" - ] - } -} diff --git a/specifications/iiit-hyderabad/electromagnetic-theory/e98574.json b/specifications/iiit-hyderabad/electromagnetic-theory/e98574.json deleted file mode 100644 index 8bad7ce..0000000 --- a/specifications/iiit-hyderabad/electromagnetic-theory/e98574.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "experiment": { - "id": "e98574", - "name": "Coulomb's Law", - "discipline_id": "ece", - "institute_id": "iiith", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "cloud", - "hosted_url": "http://emt-iiith.vlabs.ac.in/Experiment.php?code=C001" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Coulomb's Law", - "assets": [], - "sections" : [ - "Introduction", - "Objective", - "Video Tutorial", - "Procedure", - "Virtual Experiment", - "Theory", - "Quiz", - "References", - "Feedback" - ] - } -} diff --git a/specifications/iiit-hyderabad/electromagnetic-theory/electromagnetic-theory.json b/specifications/iiit-hyderabad/electromagnetic-theory/electromagnetic-theory.json deleted file mode 100644 index 29c37d8..0000000 --- a/specifications/iiit-hyderabad/electromagnetic-theory/electromagnetic-theory.json +++ /dev/null @@ -1,38 +0,0 @@ -{ - "lab": { - "id": "no_lab_id", - "name": "electromagnetic theory", - "discipline_id": "ece", - "institute_id": "iiith", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "cloud", - "hosted_url": "http://emt-iiith.vlabs.ac.in/" - } - ], - "integration_level": 4, - "overview": "This lab deals with electromagnetic theory", - "assets": [], - "sections": [ - { - "name": "Introduction" - }, - { - "experiments" : [ - "e98574", - "e98573", - "e98572", - "e98571", - "e98570", - "e98569", - "e98568", - "e98567", - "e98566", - "e98565" - ] - } - ] - } -} diff --git a/specifications/iiit-hyderabad/geotechnical-engineering/dump_json_to_lds.py b/specifications/iiit-hyderabad/geotechnical-engineering/dump_json_to_lds.py deleted file mode 100644 index 78c74fa..0000000 --- a/specifications/iiit-hyderabad/geotechnical-engineering/dump_json_to_lds.py +++ /dev/null @@ -1,44 +0,0 @@ - -import os -import os.path -import json -import requests -import glob - -URL= 'http://localhost:5000' -json_path_list = [] - -def post_lab_spec(file_path): - - with open(file_path) as json_file: - print file_path - data = json.load(json_file) - if 'lab' in data.keys(): - end_point = "/labs" - if 'experiment' in data.keys(): - end_point = "/experiments" - - data['key'] = 'defaultkey' - APP_URL = URL + end_point - headers = {'Content-Type': 'application/json'} - try: - response = requests.post(APP_URL, data = json.dumps(data), - headers=headers) - if response.status_code == 200: - print "Added json data : " + file_path - else: - print "Errore in adding json file " + file_path + " due to " + response.text - except Exception as e: - print str(e) -try: - exp_file_list = glob.glob(os.getcwd() + "/e9*.json") - lab_file_list = glob.glob(os.getcwd() + "/[!e9]*.json") - - for filename in exp_file_list: - json_path_list.append(filename) -except Exception as e: - print str(e) - -for file_path in json_path_list: - post_lab_spec(file_path) -post_lab_spec(lab_file_list[0]) diff --git a/specifications/iiit-hyderabad/geotechnical-engineering/e98751.json b/specifications/iiit-hyderabad/geotechnical-engineering/e98751.json deleted file mode 100644 index fd8d03e..0000000 --- a/specifications/iiit-hyderabad/geotechnical-engineering/e98751.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "experiment": { - "id": "e98751", - "name": "Surface Tension", - "discipline_id": "civil", - "institute_id": "iiith", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "cloud", - "hosted_url": "http://phy14-iiith.vlabs.ac.in/exp9/Introduction.html?domain=Physical%20Sciences&lab=PHYSICAL%20SCIENCES%20VIRTUAL%20LAB" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Surface Tension", - "assets": [], - "sections" : [ - "Introduction", - "Objective", - "Theory", - "Procedure", - "Simulator", - "Quiz", - "References", - "Feedback" - ] - } -} diff --git a/specifications/iiit-hyderabad/geotechnical-engineering/geotechnical-engineering.json b/specifications/iiit-hyderabad/geotechnical-engineering/geotechnical-engineering.json deleted file mode 100644 index 1d213be..0000000 --- a/specifications/iiit-hyderabad/geotechnical-engineering/geotechnical-engineering.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "lab": { - "id": "eerc05", - "name": "geotechnical engineering", - "discipline_id": "civil", - "institute_id": "iiith", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "cloud", - "hosted_url": "ge-iiith.vlabs.ac.in" - } - ], - "integration_level": 4, - "overview": "This lab deals with geotechnical engineering", - "assets": [], - "sections": [ - { - "name": "Introduction" - }, - { - "experiments" : [ - "" - ] - } - ] - } -} diff --git a/specifications/iiit-hyderabad/linux-lab/dump_json_to_lds.py b/specifications/iiit-hyderabad/linux-lab/dump_json_to_lds.py deleted file mode 100644 index 78c74fa..0000000 --- a/specifications/iiit-hyderabad/linux-lab/dump_json_to_lds.py +++ /dev/null @@ -1,44 +0,0 @@ - -import os -import os.path -import json -import requests -import glob - -URL= 'http://localhost:5000' -json_path_list = [] - -def post_lab_spec(file_path): - - with open(file_path) as json_file: - print file_path - data = json.load(json_file) - if 'lab' in data.keys(): - end_point = "/labs" - if 'experiment' in data.keys(): - end_point = "/experiments" - - data['key'] = 'defaultkey' - APP_URL = URL + end_point - headers = {'Content-Type': 'application/json'} - try: - response = requests.post(APP_URL, data = json.dumps(data), - headers=headers) - if response.status_code == 200: - print "Added json data : " + file_path - else: - print "Errore in adding json file " + file_path + " due to " + response.text - except Exception as e: - print str(e) -try: - exp_file_list = glob.glob(os.getcwd() + "/e9*.json") - lab_file_list = glob.glob(os.getcwd() + "/[!e9]*.json") - - for filename in exp_file_list: - json_path_list.append(filename) -except Exception as e: - print str(e) - -for file_path in json_path_list: - post_lab_spec(file_path) -post_lab_spec(lab_file_list[0]) diff --git a/specifications/iiit-hyderabad/linux-lab/e98599.json b/specifications/iiit-hyderabad/linux-lab/e98599.json deleted file mode 100644 index b9b7885..0000000 --- a/specifications/iiit-hyderabad/linux-lab/e98599.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "experiment": { - "id": "e98599", - "name": "Basic Networking", - "discipline_id": "cse", - "institute_id": "iiith", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://cse09-iiith.virtual-labs.ac.in/exp9/index.html" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Basic Networking", - "assets": [], - "sections" : [ - "Introduction", - "Objective", - "Theory", - "Tasks", - "Quiz", - "Further Readings", - "Feedback" - ] - } -} diff --git a/specifications/iiit-hyderabad/linux-lab/e98600.json b/specifications/iiit-hyderabad/linux-lab/e98600.json deleted file mode 100644 index 74fcc4f..0000000 --- a/specifications/iiit-hyderabad/linux-lab/e98600.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "experiment": { - "id": "e98600", - "name": "Pipes and Redirection", - "discipline_id": "cse", - "institute_id": "iiith", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://cse09-iiith.virtual-labs.ac.in/exp7/index.html" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Pipes and Redirection", - "assets": [], - "sections" : [ - "Introduction", - "Objective", - "Theory", - "Tasks", - "Quiz", - "Further Readings", - "Feedback" - ] - } -} diff --git a/specifications/iiit-hyderabad/linux-lab/e98601.json b/specifications/iiit-hyderabad/linux-lab/e98601.json deleted file mode 100644 index b2575ac..0000000 --- a/specifications/iiit-hyderabad/linux-lab/e98601.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "experiment": { - "id": "e98601", - "name": "Obtaining System Information", - "discipline_id": "cse", - "institute_id": "iiith", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://cse09-iiith.virtual-labs.ac.in/exp6/index.html" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Obtaining System Information", - "assets": [], - "sections" : [ - "Introduction", - "Objective", - "Theory", - "Tasks", - "Quiz", - "Further Readings", - "Feedback" - ] - } -} diff --git a/specifications/iiit-hyderabad/linux-lab/e98602.json b/specifications/iiit-hyderabad/linux-lab/e98602.json deleted file mode 100644 index 4ecdb9c..0000000 --- a/specifications/iiit-hyderabad/linux-lab/e98602.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "experiment": { - "id": "e98602", - "name": "Archival and Compression", - "discipline_id": "cse", - "institute_id": "iiith", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://cse09-iiith.virtual-labs.ac.in/exp5/index.html" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Archival and Compression", - "assets": [], - "sections" : [ - "Introduction", - "Objective", - "Theory", - "Tasks", - "Quiz", - "Further Readings", - "Feedback" - ] - } -} diff --git a/specifications/iiit-hyderabad/linux-lab/e98603.json b/specifications/iiit-hyderabad/linux-lab/e98603.json deleted file mode 100644 index 45a4033..0000000 --- a/specifications/iiit-hyderabad/linux-lab/e98603.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "experiment": { - "id": "e98603", - "name": "File Permissions", - "discipline_id": "cse", - "institute_id": "iiith", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://cse09-iiith.virtual-labs.ac.in/exp4/index.html" - } - ], - "integration_level": 4, - "overview": "This experiments deals with File Permissions", - "assets": [], - "sections" : [ - "Introduction", - "Objective", - "Theory", - "Tasks", - "Quiz", - "Further Readings", - "Feedback" - ] - } -} diff --git a/specifications/iiit-hyderabad/linux-lab/e98604.json b/specifications/iiit-hyderabad/linux-lab/e98604.json deleted file mode 100644 index fae628d..0000000 --- a/specifications/iiit-hyderabad/linux-lab/e98604.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "experiment": { - "id": "e98604", - "name": "File Content", - "discipline_id": "cse", - "institute_id": "iiith", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://cse09-iiith.virtual-labs.ac.in/exp3/index.html" - } - ], - "integration_level": 4, - "overview": "This experiments deals with File Content", - "assets": [], - "sections" : [ - "Introduction", - "Objective", - "Theory", - "Tasks", - "Quiz", - "Further Readings", - "Feedback" - ] - } -} diff --git a/specifications/iiit-hyderabad/linux-lab/e98605.json b/specifications/iiit-hyderabad/linux-lab/e98605.json deleted file mode 100644 index e72c127..0000000 --- a/specifications/iiit-hyderabad/linux-lab/e98605.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "experiment": { - "id": "e98605", - "name": "Text Editor", - "discipline_id": "cse", - "institute_id": "iiith", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://cse09-iiith.virtual-labs.ac.in/exp2/index.html" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Text Editor", - "assets": [], - "sections" : [ - "Introduction", - "Objective", - "Theory", - "Tasks", - "Quiz", - "Further Readings", - "Feedback" - ] - } -} diff --git a/specifications/iiit-hyderabad/linux-lab/e98606.json b/specifications/iiit-hyderabad/linux-lab/e98606.json deleted file mode 100644 index 5b37e0d..0000000 --- a/specifications/iiit-hyderabad/linux-lab/e98606.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "experiment": { - "id": "e98606", - "name": "File Management", - "discipline_id": "cse", - "institute_id": "iiith", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://cse09-iiith.virtual-labs.ac.in/exp1/index.html" - } - ], - "integration_level": 4, - "overview": "This experiments deals with File Management", - "assets": [], - "sections" : [ - "Introduction", - "Objective", - "Theory", - "Tasks", - "Quiz", - "Readings", - "Feedback" - ] - } -} diff --git a/specifications/iiit-hyderabad/linux-lab/e99945.json b/specifications/iiit-hyderabad/linux-lab/e99945.json deleted file mode 100644 index f64ac20..0000000 --- a/specifications/iiit-hyderabad/linux-lab/e99945.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "experiment": { - "id": "e99945", - "name": "Searching", - "discipline_id": "cse", - "institute_id": "iiith", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://cse09-iiith.virtual-labs.ac.in/exp8/index.html" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Searching", - "assets": [], - "sections" : [ - "Introduction", - "Objective", - "Theory", - "Tasks", - "Quiz", - "Further Readings", - "Feedback" - ] - } -} diff --git a/specifications/iiit-hyderabad/linux-lab/linux-lab.json b/specifications/iiit-hyderabad/linux-lab/linux-lab.json deleted file mode 100644 index 947d391..0000000 --- a/specifications/iiit-hyderabad/linux-lab/linux-lab.json +++ /dev/null @@ -1,37 +0,0 @@ -{ - "lab": { - "id": "cse09", - "name": "linux lab", - "discipline_id": "cse", - "institute_id": "iiith", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://cse09-iiith.virtual-labs.ac.in/" - } - ], - "integration_level": 4, - "overview": "This lab deals with linux lab", - "assets": [], - "sections": [ - { - "name": "Introduction" - }, - { - "experiments" : [ - "e98606", - "e98605", - "e98604", - "e98603", - "e98602", - "e98601", - "e98600", - "e99945", - "e98599" - ] - } - ] - } -} diff --git a/specifications/iiit-hyderabad/mobile-robotics/dump_json_to_lds.py b/specifications/iiit-hyderabad/mobile-robotics/dump_json_to_lds.py deleted file mode 100644 index 78c74fa..0000000 --- a/specifications/iiit-hyderabad/mobile-robotics/dump_json_to_lds.py +++ /dev/null @@ -1,44 +0,0 @@ - -import os -import os.path -import json -import requests -import glob - -URL= 'http://localhost:5000' -json_path_list = [] - -def post_lab_spec(file_path): - - with open(file_path) as json_file: - print file_path - data = json.load(json_file) - if 'lab' in data.keys(): - end_point = "/labs" - if 'experiment' in data.keys(): - end_point = "/experiments" - - data['key'] = 'defaultkey' - APP_URL = URL + end_point - headers = {'Content-Type': 'application/json'} - try: - response = requests.post(APP_URL, data = json.dumps(data), - headers=headers) - if response.status_code == 200: - print "Added json data : " + file_path - else: - print "Errore in adding json file " + file_path + " due to " + response.text - except Exception as e: - print str(e) -try: - exp_file_list = glob.glob(os.getcwd() + "/e9*.json") - lab_file_list = glob.glob(os.getcwd() + "/[!e9]*.json") - - for filename in exp_file_list: - json_path_list.append(filename) -except Exception as e: - print str(e) - -for file_path in json_path_list: - post_lab_spec(file_path) -post_lab_spec(lab_file_list[0]) diff --git a/specifications/iiit-hyderabad/mobile-robotics/e98616.json b/specifications/iiit-hyderabad/mobile-robotics/e98616.json deleted file mode 100644 index ad8c5c0..0000000 --- a/specifications/iiit-hyderabad/mobile-robotics/e98616.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "experiment": { - "id": "e98616", - "name": "Monte Carlo localization", - "discipline_id": "cse", - "institute_id": "iiith", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://cse17-iiith.virtual-labs.ac.in/montecarlolocalization/index.php" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Monte Carlo localization", - "assets": [], - "sections" : [ - "INTRODUCTION", - "THEORY", - "OBJECTIVE", - "PROCEDURE", - "EXPERIMENT", - "QUIZZES", - "FURTHER READINGS" - ] - } -} diff --git a/specifications/iiit-hyderabad/mobile-robotics/e98617.json b/specifications/iiit-hyderabad/mobile-robotics/e98617.json deleted file mode 100644 index 030c910..0000000 --- a/specifications/iiit-hyderabad/mobile-robotics/e98617.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "experiment": { - "id": "e98617", - "name": "Exploration", - "discipline_id": "cse", - "institute_id": "iiith", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://cse17-iiith.virtual-labs.ac.in/exploration/index.php" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Exploration", - "assets": [], - "sections" : [ - "INTRODUCTION", - "THEORY", - "OBJECTIVE", - "PROCEDURE", - "EXPERIMENT", - "QUIZZES", - "FURTHER READINGS" - ] - } -} diff --git a/specifications/iiit-hyderabad/mobile-robotics/e98618.json b/specifications/iiit-hyderabad/mobile-robotics/e98618.json deleted file mode 100644 index fb2cb1f..0000000 --- a/specifications/iiit-hyderabad/mobile-robotics/e98618.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "experiment": { - "id": "e98618", - "name": "RRT based path planning", - "discipline_id": "cse", - "institute_id": "iiith", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://cse17-iiith.virtual-labs.ac.in/rrtbasedpathplanning/index.php" - } - ], - "integration_level": 4, - "overview": "This experiments deals with RRT based path planning", - "assets": [], - "sections" : [ - "INTRODUCTION", - "THEORY", - "OBJECTIVE", - "PROCEDURE", - "EXPERIMENT", - "QUIZZES", - "FURTHER READINGS" - ] - } -} diff --git a/specifications/iiit-hyderabad/mobile-robotics/e98619.json b/specifications/iiit-hyderabad/mobile-robotics/e98619.json deleted file mode 100644 index 770fdaf..0000000 --- a/specifications/iiit-hyderabad/mobile-robotics/e98619.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "experiment": { - "id": "e98619", - "name": "Scan matching", - "discipline_id": "cse", - "institute_id": "iiith", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://cse17-iiith.virtual-labs.ac.in/scanmatching/index.php" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Scan matching", - "assets": [], - "sections" : [ - "INTRODUCTION", - "THEORY", - "OBJECTIVE", - "PROCEDURE", - "EXPERIMENT", - "QUIZZES", - "FURTHER READINGS" - ] - } -} diff --git a/specifications/iiit-hyderabad/mobile-robotics/e98620.json b/specifications/iiit-hyderabad/mobile-robotics/e98620.json deleted file mode 100644 index 9f0a795..0000000 --- a/specifications/iiit-hyderabad/mobile-robotics/e98620.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "experiment": { - "id": "e98620", - "name": "Forward kinematics", - "discipline_id": "cse", - "institute_id": "iiith", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://cse17-iiith.virtual-labs.ac.in/forwardkinematics/index.php" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Forward kinematics", - "assets": [], - "sections" : [ - "INTRODUCTION", - "THEORY", - "OBJECTIVE", - "PROCEDURE", - "EXPERIMENT", - "QUIZZES", - "FURTHER READINGS" - ] - } -} diff --git a/specifications/iiit-hyderabad/mobile-robotics/e98621.json b/specifications/iiit-hyderabad/mobile-robotics/e98621.json deleted file mode 100644 index 4cdb833..0000000 --- a/specifications/iiit-hyderabad/mobile-robotics/e98621.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "experiment": { - "id": "e98621", - "name": "Grid based navigation", - "discipline_id": "cse", - "institute_id": "iiith", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://cse17-iiith.virtual-labs.ac.in/gridbasednavigation/index.php" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Grid based navigation", - "assets": [], - "sections" : [ - "INTRODUCTION", - "THEORY", - "OBJECTIVE", - "PROCEDURE", - "EXPERIMENT", - "QUIZZES", - "FURTHER READINGS" - ] - } -} diff --git a/specifications/iiit-hyderabad/mobile-robotics/e98622.json b/specifications/iiit-hyderabad/mobile-robotics/e98622.json deleted file mode 100644 index 1c58bef..0000000 --- a/specifications/iiit-hyderabad/mobile-robotics/e98622.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "experiment": { - "id": "e98622", - "name": "Localization", - "discipline_id": "cse", - "institute_id": "iiith", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://cse17-iiith.virtual-labs.ac.in/localization/index.php" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Localization", - "assets": [], - "sections" : [ - "INTRODUCTION", - "THEORY", - "OBJECTIVE", - "PROCEDURE", - "EXPERIMENT", - "QUIZZES", - "FURTHER READINGS" - ] - } -} diff --git a/specifications/iiit-hyderabad/mobile-robotics/e98623.json b/specifications/iiit-hyderabad/mobile-robotics/e98623.json deleted file mode 100644 index 54afc2b..0000000 --- a/specifications/iiit-hyderabad/mobile-robotics/e98623.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "experiment": { - "id": "e98623", - "name": "Mapping", - "discipline_id": "cse", - "institute_id": "iiith", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://cse17-iiith.virtual-labs.ac.in/mapping/index.php" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Mapping", - "assets": [], - "sections" : [ - "INTRODUCTION", - "THEORY", - "OBJECTIVE", - "PROCEDURE", - "EXPERIMENT", - "QUIZZES", - "FURTHER READINGS" - ] - } -} diff --git a/specifications/iiit-hyderabad/mobile-robotics/e98624.json b/specifications/iiit-hyderabad/mobile-robotics/e98624.json deleted file mode 100644 index 94b89d7..0000000 --- a/specifications/iiit-hyderabad/mobile-robotics/e98624.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "experiment": { - "id": "e98624", - "name": "Velocity Modelling", - "discipline_id": "cse", - "institute_id": "iiith", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://cse17-iiith.virtual-labs.ac.in/velocitymodelling/index.php" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Velocity Modelling", - "assets": [], - "sections" : [ - "INTRODUCTION", - "THEORY", - "OBJECTIVE", - "PROCEDURE", - "EXPERIMENT", - "QUIZZES", - "FURTHER READINGS" - ] - } -} diff --git a/specifications/iiit-hyderabad/mobile-robotics/e98625.json b/specifications/iiit-hyderabad/mobile-robotics/e98625.json deleted file mode 100644 index 3a4b1aa..0000000 --- a/specifications/iiit-hyderabad/mobile-robotics/e98625.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "experiment": { - "id": "e98625", - "name": "Sensor Modelling", - "discipline_id": "cse", - "institute_id": "iiith", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://cse17-iiith.virtual-labs.ac.in/sensormodelling/index.php" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Sensor Modelling", - "assets": [], - "sections" : [ - "INTRODUCTION", - "THEORY", - "OBJECTIVE", - "PROCEDURE", - "EXPERIMENT", - "QUIZZES", - "FURTHER READINGS" - ] - } -} diff --git a/specifications/iiit-hyderabad/mobile-robotics/mobile-robotics.json b/specifications/iiit-hyderabad/mobile-robotics/mobile-robotics.json deleted file mode 100644 index 111bb5a..0000000 --- a/specifications/iiit-hyderabad/mobile-robotics/mobile-robotics.json +++ /dev/null @@ -1,38 +0,0 @@ -{ - "lab": { - "id": "cse17", - "name": "mobile robotics", - "discipline_id": "cse", - "institute_id": "iiith", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://cse17-iiith.virtual-labs.ac.in/" - } - ], - "integration_level": 4, - "overview": "This lab deals with mobile robotics", - "assets": [], - "sections": [ - { - "name": "Introduction" - }, - { - "experiments" : [ - "e98625", - "e98624", - "e98623", - "e98622", - "e98621", - "e98620", - "e98619", - "e98618", - "e98617", - "e98616" - ] - } - ] - } -} diff --git a/specifications/iiit-hyderabad/optical-remote-sensing/dump_json_to_lds.py b/specifications/iiit-hyderabad/optical-remote-sensing/dump_json_to_lds.py deleted file mode 100644 index 78c74fa..0000000 --- a/specifications/iiit-hyderabad/optical-remote-sensing/dump_json_to_lds.py +++ /dev/null @@ -1,44 +0,0 @@ - -import os -import os.path -import json -import requests -import glob - -URL= 'http://localhost:5000' -json_path_list = [] - -def post_lab_spec(file_path): - - with open(file_path) as json_file: - print file_path - data = json.load(json_file) - if 'lab' in data.keys(): - end_point = "/labs" - if 'experiment' in data.keys(): - end_point = "/experiments" - - data['key'] = 'defaultkey' - APP_URL = URL + end_point - headers = {'Content-Type': 'application/json'} - try: - response = requests.post(APP_URL, data = json.dumps(data), - headers=headers) - if response.status_code == 200: - print "Added json data : " + file_path - else: - print "Errore in adding json file " + file_path + " due to " + response.text - except Exception as e: - print str(e) -try: - exp_file_list = glob.glob(os.getcwd() + "/e9*.json") - lab_file_list = glob.glob(os.getcwd() + "/[!e9]*.json") - - for filename in exp_file_list: - json_path_list.append(filename) -except Exception as e: - print str(e) - -for file_path in json_path_list: - post_lab_spec(file_path) -post_lab_spec(lab_file_list[0]) diff --git a/specifications/iiit-hyderabad/optical-remote-sensing/e98593.json b/specifications/iiit-hyderabad/optical-remote-sensing/e98593.json deleted file mode 100644 index c8dcbb0..0000000 --- a/specifications/iiit-hyderabad/optical-remote-sensing/e98593.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "experiment": { - "id": "e98593", - "name": "Band Algebra - Index based Analysis", - "discipline_id": "cse", - "institute_id": "iiith", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://cse21-iiith.virtual-labs.ac.in/exp7/index.php" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Band Algebra - Index based Analysis", - "assets": [], - "sections" : [ - "OBJECTIVE", - "THEORY", - "MANUAL", - "EXPERIMENT", - "QUIZZES", - "FEEDBACK" - ] - } -} diff --git a/specifications/iiit-hyderabad/optical-remote-sensing/e98594.json b/specifications/iiit-hyderabad/optical-remote-sensing/e98594.json deleted file mode 100644 index 9f6802f..0000000 --- a/specifications/iiit-hyderabad/optical-remote-sensing/e98594.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "experiment": { - "id": "e98594", - "name": "Visual Analysis - Band Combination", - "discipline_id": "cse", - "institute_id": "iiith", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://cse21-iiith.virtual-labs.ac.in/exp6/index.php" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Visual Analysis - Band Combination", - "assets": [], - "sections" : [ - "OBJECTIVE", - "THEORY", - "MANUAL", - "EXPERIMENT", - "QUIZZES", - "FEEDBACK" - ] - } -} diff --git a/specifications/iiit-hyderabad/optical-remote-sensing/e98595.json b/specifications/iiit-hyderabad/optical-remote-sensing/e98595.json deleted file mode 100644 index 3dbe325..0000000 --- a/specifications/iiit-hyderabad/optical-remote-sensing/e98595.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "experiment": { - "id": "e98595", - "name": "Data quantization levels and object extraction effects of Radiometric characteristics of the sensor", - "discipline_id": "cse", - "institute_id": "iiith", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://cse21-iiith.virtual-labs.ac.in/exp5/index.php" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Data quantization levels and object extraction effects of Radiometric characteristics of the sensor", - "assets": [], - "sections" : [ - "OBJECTIVE", - "THEORY", - "MANUAL", - "EXPERIMENT", - "QUIZZES", - "FEEDBACK" - ] - } -} diff --git a/specifications/iiit-hyderabad/optical-remote-sensing/e98596.json b/specifications/iiit-hyderabad/optical-remote-sensing/e98596.json deleted file mode 100644 index d951689..0000000 --- a/specifications/iiit-hyderabad/optical-remote-sensing/e98596.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "experiment": { - "id": "e98596", - "name": "Capturing Area-wide reflectance effect of spatial resolution", - "discipline_id": "cse", - "institute_id": "iiith", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://cse21-iiith.virtual-labs.ac.in/exp4/index.php" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Capturing Area-wide reflectance effect of spatial resolution", - "assets": [], - "sections" : [ - "OBJECTIVE", - "THEORY", - "MANUAL", - "EXPERIMENT", - "QUIZZES", - "FEEDBACK" - ] - } -} diff --git a/specifications/iiit-hyderabad/optical-remote-sensing/e98597.json b/specifications/iiit-hyderabad/optical-remote-sensing/e98597.json deleted file mode 100644 index 1c75f4f..0000000 --- a/specifications/iiit-hyderabad/optical-remote-sensing/e98597.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "experiment": { - "id": "e98597", - "name": "Reflectance of Natural objects in the Electromagnetic spectrum", - "discipline_id": "cse", - "institute_id": "iiith", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://cse21-iiith.virtual-labs.ac.in/exp3/index.php" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Reflectance of Natural objects in the Electromagnetic spectrum", - "assets": [], - "sections" : [ - "OBJECTIVE", - "THEORY", - "MANUAL", - "EXPERIMENT", - "QUIZZES", - "FEEDBACK" - ] - } -} diff --git a/specifications/iiit-hyderabad/optical-remote-sensing/e98598.json b/specifications/iiit-hyderabad/optical-remote-sensing/e98598.json deleted file mode 100644 index fd6c559..0000000 --- a/specifications/iiit-hyderabad/optical-remote-sensing/e98598.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "experiment": { - "id": "e98598", - "name": "EM Spectrum", - "discipline_id": "cse", - "institute_id": "iiith", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://cse21-iiith.virtual-labs.ac.in/exp1/index.php" - } - ], - "integration_level": 4, - "overview": "This experiments deals with EM Spectrum", - "assets": [], - "sections" : [ - "OBJECTIVE", - "THEORY", - "MANUAL", - "EXPERIMENT", - "QUIZZES", - "FEEDBACK" - ] - } -} diff --git a/specifications/iiit-hyderabad/optical-remote-sensing/e99978.json b/specifications/iiit-hyderabad/optical-remote-sensing/e99978.json deleted file mode 100644 index bae3ce4..0000000 --- a/specifications/iiit-hyderabad/optical-remote-sensing/e99978.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "experiment": { - "id": "e99978", - "name": "Black Body Radiation", - "discipline_id": "cse", - "institute_id": "iiith", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://cse21-iiith.virtual-labs.ac.in/exp2/index.php" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Black Body Radiation", - "assets": [], - "sections" : [ - "OBJECTIVE", - "THEORY", - "MANUAL", - "EXPERIMENT", - "QUIZZES", - "FEEDBACK" - ] - } -} diff --git a/specifications/iiit-hyderabad/optical-remote-sensing/optical-remote-sensing.json b/specifications/iiit-hyderabad/optical-remote-sensing/optical-remote-sensing.json deleted file mode 100644 index 58af1e9..0000000 --- a/specifications/iiit-hyderabad/optical-remote-sensing/optical-remote-sensing.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "lab": { - "id": "cse21", - "name": "optical remote sensing", - "discipline_id": "cse", - "institute_id": "iiith", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://cse21-iiith.virtual-labs.ac.in/" - } - ], - "integration_level": 4, - "overview": "This lab deals with optical remote sensing", - "assets": [], - "sections": [ - { - "name": "Introduction" - }, - { - "experiments" : [ - "e98598", - "e99978", - "e98597", - "e98596", - "e98595", - "e98594", - "e98593" - ] - } - ] - } -} diff --git a/specifications/iiit-hyderabad/physical-sciences/dump_json_to_lds.py b/specifications/iiit-hyderabad/physical-sciences/dump_json_to_lds.py deleted file mode 100644 index 78c74fa..0000000 --- a/specifications/iiit-hyderabad/physical-sciences/dump_json_to_lds.py +++ /dev/null @@ -1,44 +0,0 @@ - -import os -import os.path -import json -import requests -import glob - -URL= 'http://localhost:5000' -json_path_list = [] - -def post_lab_spec(file_path): - - with open(file_path) as json_file: - print file_path - data = json.load(json_file) - if 'lab' in data.keys(): - end_point = "/labs" - if 'experiment' in data.keys(): - end_point = "/experiments" - - data['key'] = 'defaultkey' - APP_URL = URL + end_point - headers = {'Content-Type': 'application/json'} - try: - response = requests.post(APP_URL, data = json.dumps(data), - headers=headers) - if response.status_code == 200: - print "Added json data : " + file_path - else: - print "Errore in adding json file " + file_path + " due to " + response.text - except Exception as e: - print str(e) -try: - exp_file_list = glob.glob(os.getcwd() + "/e9*.json") - lab_file_list = glob.glob(os.getcwd() + "/[!e9]*.json") - - for filename in exp_file_list: - json_path_list.append(filename) -except Exception as e: - print str(e) - -for file_path in json_path_list: - post_lab_spec(file_path) -post_lab_spec(lab_file_list[0]) diff --git a/specifications/iiit-hyderabad/physical-sciences/e98732.json b/specifications/iiit-hyderabad/physical-sciences/e98732.json deleted file mode 100644 index 1b4b8ef..0000000 --- a/specifications/iiit-hyderabad/physical-sciences/e98732.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "experiment": { - "id": "e98732", - "name": "Geiger Muller Counter", - "discipline_id": "phy-sc", - "institute_id": "iiith", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "cloud", - "hosted_url": "http://phy14-iiith.vlabs.ac.in/exp7/Introduction.html?domain=Physical%20Sciences&lab=PHYSICAL%20SCIENCES%20VIRTUAL%20LAB" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Geiger Muller Counter", - "assets": [], - "sections" : [ - "Introduction", - "Objective", - "Theory", - "Procedure", - "Simulator", - "Quiz", - "References", - "Feedback" - ] - } -} diff --git a/specifications/iiit-hyderabad/physical-sciences/e98733.json b/specifications/iiit-hyderabad/physical-sciences/e98733.json deleted file mode 100644 index 5e44265..0000000 --- a/specifications/iiit-hyderabad/physical-sciences/e98733.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "experiment": { - "id": "e98733", - "name": "Acid-Base Indicators", - "discipline_id": "phy-sc", - "institute_id": "iiith", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "cloud", - "hosted_url": "http://phy14-iiith.vlabs.ac.in/exp6/Introduction.html?domain=Physical%20Sciences&lab=PHYSICAL%20SCIENCES%20VIRTUAL%20LAB" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Acid-Base Indicators", - "assets": [], - "sections" : [ - "Introduction", - "Objective", - "Theory", - "Procedure", - "Simulator", - "Quiz", - "References", - "Feedback" - ] - } -} diff --git a/specifications/iiit-hyderabad/physical-sciences/e98734.json b/specifications/iiit-hyderabad/physical-sciences/e98734.json deleted file mode 100644 index bd56abb..0000000 --- a/specifications/iiit-hyderabad/physical-sciences/e98734.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "experiment": { - "id": "e98734", - "name": "Inversion of Cane Sugar", - "discipline_id": "phy-sc", - "institute_id": "iiith", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "cloud", - "hosted_url": "http://phy14-iiith.vlabs.ac.in/exp4/Introduction.html?domain=Physical%20Sciences&lab=PHYSICAL%20SCIENCES%20VIRTUAL%20LAB" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Inversion of Cane Sugar", - "assets": [], - "sections" : [ - "Introduction", - "Objective", - "Theory", - "Procedure", - "Simulator", - "Quiz", - "References", - "Feedback" - ] - } -} diff --git a/specifications/iiit-hyderabad/physical-sciences/e98735.json b/specifications/iiit-hyderabad/physical-sciences/e98735.json deleted file mode 100644 index 1e01291..0000000 --- a/specifications/iiit-hyderabad/physical-sciences/e98735.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "experiment": { - "id": "e98735", - "name": "Photoelectric Effect", - "discipline_id": "phy-sc", - "institute_id": "iiith", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "cloud", - "hosted_url": "http://phy14-iiith.vlabs.ac.in/exp3/Introduction.html?domain=Physical%20Sciences&lab=PHYSICAL%20SCIENCES%20VIRTUAL%20LAB" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Photoelectric Effect", - "assets": [], - "sections" : [ - "Introduction", - "Objective", - "Theory", - "Procedure", - "Simulator", - "Quiz", - "References", - "Feedback" - ] - } -} diff --git a/specifications/iiit-hyderabad/physical-sciences/e98736.json b/specifications/iiit-hyderabad/physical-sciences/e98736.json deleted file mode 100644 index fc72e21..0000000 --- a/specifications/iiit-hyderabad/physical-sciences/e98736.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "experiment": { - "id": "e98736", - "name": "Millikan's Experiment", - "discipline_id": "phy-sc", - "institute_id": "iiith", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "cloud", - "hosted_url": "http://phy14-iiith.vlabs.ac.in/exp2/Introduction.html?domain=Physical%20Sciences&lab=PHYSICAL%20SCIENCES%20VIRTUAL%20LAB" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Millikan's Experiment", - "assets": [], - "sections" : [ - "Introduction", - "Objective", - "Theory", - "Procedure", - "Simulator", - "Quiz", - "References", - "Feedback" - ] - } -} diff --git a/specifications/iiit-hyderabad/physical-sciences/e98737.json b/specifications/iiit-hyderabad/physical-sciences/e98737.json deleted file mode 100644 index 1f741e0..0000000 --- a/specifications/iiit-hyderabad/physical-sciences/e98737.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "experiment": { - "id": "e98737", - "name": "Measurement of Dipole Moment", - "discipline_id": "phy-sc", - "institute_id": "iiith", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "cloud", - "hosted_url": "http://phy14-iiith.vlabs.ac.in/exp1/Introduction.html?domain=Physical%20Sciences&lab=PHYSICAL%20SCIENCES%20VIRTUAL%20LAB" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Measurement of Dipole Moment", - "assets": [], - "sections" : [ - "Introduction", - "Objective", - "Theory", - "Procedure", - "Simulator", - "Quiz", - "References", - "Feedback" - ] - } -} diff --git a/specifications/iiit-hyderabad/physical-sciences/e99269.json b/specifications/iiit-hyderabad/physical-sciences/e99269.json deleted file mode 100644 index d68653a..0000000 --- a/specifications/iiit-hyderabad/physical-sciences/e99269.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "experiment": { - "id": "e99269", - "name": "Heat of Neutralization", - "discipline_id": "phy-sc", - "institute_id": "iiith", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "cloud", - "hosted_url": "http://phy14-iiith.vlabs.ac.in/exp5/Introduction.html?domain=Physical%20Sciences&lab=PHYSICAL%20SCIENCES%20VIRTUAL%20LAB" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Heat of Neutralization", - "assets": [], - "sections" : [ - "Introduction", - "Objective", - "Theory", - "Procedure", - "Simulator", - "Quiz", - "References", - "Feedback" - ] - } -} diff --git a/specifications/iiit-hyderabad/physical-sciences/e99477.json b/specifications/iiit-hyderabad/physical-sciences/e99477.json deleted file mode 100644 index b88a58c..0000000 --- a/specifications/iiit-hyderabad/physical-sciences/e99477.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "experiment": { - "id": "e99477", - "name": "Young's Modulus", - "discipline_id": "phy-sc", - "institute_id": "iiith", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "cloud", - "hosted_url": "http://phy14-iiith.vlabs.ac.in/exp8/Introduction.html?domain=Physical%20Sciences&lab=PHYSICAL%20SCIENCES%20VIRTUAL%20LAB" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Young's Modulus", - "assets": [], - "sections" : [ - "Introduction", - "Objective", - "Theory", - "Procedure", - "Simulator", - "Quiz", - "References", - "Feedback" - ] - } -} diff --git a/specifications/iiit-hyderabad/physical-sciences/physical-sciences.json b/specifications/iiit-hyderabad/physical-sciences/physical-sciences.json deleted file mode 100644 index 834619b..0000000 --- a/specifications/iiit-hyderabad/physical-sciences/physical-sciences.json +++ /dev/null @@ -1,37 +0,0 @@ -{ - "lab": { - "id": "phy14", - "name": "physical sciences", - "discipline_id": "phy-sc", - "institute_id": "iiith", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "cloud", - "hosted_url": "http://phy14-iiith.vlabs.ac.in/" - } - ], - "integration_level": 4, - "overview": "This lab deals with physical sciences", - "assets": [], - "sections": [ - { - "name": "Introduction" - }, - { - "experiments" : [ - "e98737", - "e98736", - "e98735", - "e98734", - "e99269", - "e98733", - "e98732", - "e99477", - "e98751" - ] - } - ] - } -} diff --git a/specifications/iiit-hyderabad/principles-of-programming-languages/dump_json_to_lds.py b/specifications/iiit-hyderabad/principles-of-programming-languages/dump_json_to_lds.py deleted file mode 100644 index 78c74fa..0000000 --- a/specifications/iiit-hyderabad/principles-of-programming-languages/dump_json_to_lds.py +++ /dev/null @@ -1,44 +0,0 @@ - -import os -import os.path -import json -import requests -import glob - -URL= 'http://localhost:5000' -json_path_list = [] - -def post_lab_spec(file_path): - - with open(file_path) as json_file: - print file_path - data = json.load(json_file) - if 'lab' in data.keys(): - end_point = "/labs" - if 'experiment' in data.keys(): - end_point = "/experiments" - - data['key'] = 'defaultkey' - APP_URL = URL + end_point - headers = {'Content-Type': 'application/json'} - try: - response = requests.post(APP_URL, data = json.dumps(data), - headers=headers) - if response.status_code == 200: - print "Added json data : " + file_path - else: - print "Errore in adding json file " + file_path + " due to " + response.text - except Exception as e: - print str(e) -try: - exp_file_list = glob.glob(os.getcwd() + "/e9*.json") - lab_file_list = glob.glob(os.getcwd() + "/[!e9]*.json") - - for filename in exp_file_list: - json_path_list.append(filename) -except Exception as e: - print str(e) - -for file_path in json_path_list: - post_lab_spec(file_path) -post_lab_spec(lab_file_list[0]) diff --git a/specifications/iiit-hyderabad/principles-of-programming-languages/e98607.json b/specifications/iiit-hyderabad/principles-of-programming-languages/e98607.json deleted file mode 100644 index 04e274e..0000000 --- a/specifications/iiit-hyderabad/principles-of-programming-languages/e98607.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "experiment": { - "id": "e98607", - "name": "Language with Objects", - "discipline_id": "cse", - "institute_id": "iiith", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "cloud", - "hosted_url": "http://cse05-iiith.virtual-labs.ac.in/" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Language with Objects", - "assets": [], - "sections" : [ - "Prerequisites for the Experiment", - "Learning Objective of the Experiment", - "Theory", - "Procedure", - "Exercises", - "Feedback" - ] - } -} diff --git a/specifications/iiit-hyderabad/principles-of-programming-languages/e98608.json b/specifications/iiit-hyderabad/principles-of-programming-languages/e98608.json deleted file mode 100644 index e82c1b0..0000000 --- a/specifications/iiit-hyderabad/principles-of-programming-languages/e98608.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "experiment": { - "id": "e98608", - "name": "Language with Recursive Functions", - "discipline_id": "cse", - "institute_id": "iiith", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "cloud", - "hosted_url": "http://cse05-iiith.virtual-labs.ac.in/" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Language with Recursive Functions", - "assets": [], - "sections" : [ - "" - ] - } -} diff --git a/specifications/iiit-hyderabad/principles-of-programming-languages/e98609.json b/specifications/iiit-hyderabad/principles-of-programming-languages/e98609.json deleted file mode 100644 index cc66d6c..0000000 --- a/specifications/iiit-hyderabad/principles-of-programming-languages/e98609.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "experiment": { - "id": "e98609", - "name": "Language with Closures", - "discipline_id": "cse", - "institute_id": "iiith", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "cloud", - "hosted_url": "http://cse05-iiith.virtual-labs.ac.in/" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Language with Closures", - "assets": [], - "sections" : [ - "Prerequisites for the Experiment", - "Learning Objective of the Experiment", - "Theory", - "Procedure", - "Exercises", - "Feedback" - ] - } -} diff --git a/specifications/iiit-hyderabad/principles-of-programming-languages/e98610.json b/specifications/iiit-hyderabad/principles-of-programming-languages/e98610.json deleted file mode 100644 index 1cdad5a..0000000 --- a/specifications/iiit-hyderabad/principles-of-programming-languages/e98610.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "experiment": { - "id": "e98610", - "name": "Block-Structured Language", - "discipline_id": "cse", - "institute_id": "iiith", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "cloud", - "hosted_url": "http://cse05-iiith.virtual-labs.ac.in/" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Block-Structured Language", - "assets": [], - "sections" : [ - "Prerequisites for the Experiment", - "Learning Objective of the Experiment", - "Theory", - "Procedure", - "Feedback" - ] - } -} diff --git a/specifications/iiit-hyderabad/principles-of-programming-languages/e98611.json b/specifications/iiit-hyderabad/principles-of-programming-languages/e98611.json deleted file mode 100644 index 047f0ea..0000000 --- a/specifications/iiit-hyderabad/principles-of-programming-languages/e98611.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "experiment": { - "id": "e98611", - "name": "Environment", - "discipline_id": "cse", - "institute_id": "iiith", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "cloud", - "hosted_url": "http://cse05-iiith.virtual-labs.ac.in/" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Environment", - "assets": [], - "sections" : [ - "Prerequisites for the Experiment", - "Learning Objective of the Experiment", - "Theory", - "Procedure", - "Feedback" - ] - } -} diff --git a/specifications/iiit-hyderabad/principles-of-programming-languages/e98612.json b/specifications/iiit-hyderabad/principles-of-programming-languages/e98612.json deleted file mode 100644 index 28bbed8..0000000 --- a/specifications/iiit-hyderabad/principles-of-programming-languages/e98612.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "experiment": { - "id": "e98612", - "name": "Arithmetic Interpreter", - "discipline_id": "cse", - "institute_id": "iiith", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "cloud", - "hosted_url": "http://cse05-iiith.virtual-labs.ac.in/" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Arithmetic Interpreter", - "assets": [], - "sections" : [ - "Prerequisites for the Experiment", - "Learning Objective of the Experiment", - "Theory", - "Procedure", - "Exercises", - "Feedback" - ] - } -} diff --git a/specifications/iiit-hyderabad/principles-of-programming-languages/e98613.json b/specifications/iiit-hyderabad/principles-of-programming-languages/e98613.json deleted file mode 100644 index f475957..0000000 --- a/specifications/iiit-hyderabad/principles-of-programming-languages/e98613.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "experiment": { - "id": "e98613", - "name": "Higher-Order Functions", - "discipline_id": "cse", - "institute_id": "iiith", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "cloud", - "hosted_url": "http://cse05-iiith.virtual-labs.ac.in/" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Higher-Order Functions", - "assets": [], - "sections" : [ - "Prerequisites for the Experiment", - "Learning Objective of the Experiment", - "Theory", - "Procedure", - "Feedback" - ] - } -} diff --git a/specifications/iiit-hyderabad/principles-of-programming-languages/e98614.json b/specifications/iiit-hyderabad/principles-of-programming-languages/e98614.json deleted file mode 100644 index 33d156b..0000000 --- a/specifications/iiit-hyderabad/principles-of-programming-languages/e98614.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "experiment": { - "id": "e98614", - "name": "Programming with Inductive Data", - "discipline_id": "cse", - "institute_id": "iiith", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "cloud", - "hosted_url": "http://cse05-iiith.virtual-labs.ac.in/" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Programming with Inductive Data", - "assets": [], - "sections" : [ - "Prerequisites for the Experiment", - "Learning Objective of the Experiment", - "Theory", - "Procedure", - "Feedback" - ] - } -} diff --git a/specifications/iiit-hyderabad/principles-of-programming-languages/e98615.json b/specifications/iiit-hyderabad/principles-of-programming-languages/e98615.json deleted file mode 100644 index ac03348..0000000 --- a/specifications/iiit-hyderabad/principles-of-programming-languages/e98615.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "experiment": { - "id": "e98615", - "name": "Design Inductive Data", - "discipline_id": "cse", - "institute_id": "iiith", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "cloud", - "hosted_url": "http://cse05-iiith.virtual-labs.ac.in/" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Design Inductive Data", - "assets": [], - "sections" : [ - "Prerequisites for the Experiment", - "Learning Objective of the Experiment", - "Theory", - "Procedure", - "Exercises", - "Feedback" - ] - } -} diff --git a/specifications/iiit-hyderabad/principles-of-programming-languages/principles-of-programming-languages.json b/specifications/iiit-hyderabad/principles-of-programming-languages/principles-of-programming-languages.json deleted file mode 100644 index f56cbe6..0000000 --- a/specifications/iiit-hyderabad/principles-of-programming-languages/principles-of-programming-languages.json +++ /dev/null @@ -1,37 +0,0 @@ -{ - "lab": { - "id": "cse05", - "name": "principles of programming languages", - "discipline_id": "cse", - "institute_id": "iiith", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "cloud", - "hosted_url": "http://cse05-iiith.virtual-labs.ac.in/" - } - ], - "integration_level": 4, - "overview": "This lab deals with principles of programming languages", - "assets": [], - "sections": [ - { - "name": "Introduction" - }, - { - "experiments" : [ - "e98615", - "e98614", - "e98613", - "e98612", - "e98611", - "e98610", - "e98609", - "e98608", - "e98607" - ] - } - ] - } -} diff --git a/specifications/iiit-hyderabad/quantum-chemistry/dump_json_to_lds.py b/specifications/iiit-hyderabad/quantum-chemistry/dump_json_to_lds.py deleted file mode 100644 index 78c74fa..0000000 --- a/specifications/iiit-hyderabad/quantum-chemistry/dump_json_to_lds.py +++ /dev/null @@ -1,44 +0,0 @@ - -import os -import os.path -import json -import requests -import glob - -URL= 'http://localhost:5000' -json_path_list = [] - -def post_lab_spec(file_path): - - with open(file_path) as json_file: - print file_path - data = json.load(json_file) - if 'lab' in data.keys(): - end_point = "/labs" - if 'experiment' in data.keys(): - end_point = "/experiments" - - data['key'] = 'defaultkey' - APP_URL = URL + end_point - headers = {'Content-Type': 'application/json'} - try: - response = requests.post(APP_URL, data = json.dumps(data), - headers=headers) - if response.status_code == 200: - print "Added json data : " + file_path - else: - print "Errore in adding json file " + file_path + " due to " + response.text - except Exception as e: - print str(e) -try: - exp_file_list = glob.glob(os.getcwd() + "/e9*.json") - lab_file_list = glob.glob(os.getcwd() + "/[!e9]*.json") - - for filename in exp_file_list: - json_path_list.append(filename) -except Exception as e: - print str(e) - -for file_path in json_path_list: - post_lab_spec(file_path) -post_lab_spec(lab_file_list[0]) diff --git a/specifications/iiit-hyderabad/quantum-chemistry/e98536.json b/specifications/iiit-hyderabad/quantum-chemistry/e98536.json deleted file mode 100644 index bcef17d..0000000 --- a/specifications/iiit-hyderabad/quantum-chemistry/e98536.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "experiment": { - "id": "e98536", - "name": "Geometry Optimization of Molecules", - "discipline_id": "chem", - "institute_id": "iiith", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://ccnsb04-iiith.virtual-labs.ac.in/exp1/index.php" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Geometry Optimization of Molecules", - "assets": [], - "sections" : [ - "INTRODUCTION", - "THEORY", - "OBJECTIVE", - "EXPERIMENT", - "MANUAL", - "QUIZZES", - "FURTHER READINGS", - "FEEDBACK" - ] - } -} diff --git a/specifications/iiit-hyderabad/quantum-chemistry/e98537.json b/specifications/iiit-hyderabad/quantum-chemistry/e98537.json deleted file mode 100644 index 7c32141..0000000 --- a/specifications/iiit-hyderabad/quantum-chemistry/e98537.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "experiment": { - "id": "e98537", - "name": "Eigen systems: Geometrical Intepretation", - "discipline_id": "chem", - "institute_id": "iiith", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://ccnsb04-iiith.virtual-labs.ac.in/exp7/index.php" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Eigen systems: Geometrical Intepretation", - "assets": [], - "sections" : [ - "INTRODUCTION", - "THEORY", - "OBJECTIVE", - "EXPERIMENT", - "MANUAL", - "QUIZZES", - "FURTHER READINGS", - "FEEDBACK" - ] - } -} diff --git a/specifications/iiit-hyderabad/quantum-chemistry/e98538.json b/specifications/iiit-hyderabad/quantum-chemistry/e98538.json deleted file mode 100644 index 5874d99..0000000 --- a/specifications/iiit-hyderabad/quantum-chemistry/e98538.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "experiment": { - "id": "e98538", - "name": "Transition State Calculation for a SN2 reaction", - "discipline_id": "chem", - "institute_id": "iiith", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://ccnsb04-iiith.virtual-labs.ac.in/exp10/index.php" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Transition State Calculation for a SN2 reaction", - "assets": [], - "sections" : [ - "INTRODUCTION", - "THEORY", - "OBJECTIVE", - "EXPERIMENT", - "MANUAL", - "QUIZZES", - "FURTHER READINGS", - "FEEDBACK" - ] - } -} diff --git a/specifications/iiit-hyderabad/quantum-chemistry/e98539.json b/specifications/iiit-hyderabad/quantum-chemistry/e98539.json deleted file mode 100644 index 0a68ed5..0000000 --- a/specifications/iiit-hyderabad/quantum-chemistry/e98539.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "experiment": { - "id": "e98539", - "name": "Conformational Analysis of 1,2-dichloroethane", - "discipline_id": "chem", - "institute_id": "iiith", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://ccnsb04-iiith.virtual-labs.ac.in/exp9/index.php" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Conformational Analysis of 1,2-dichloroethane", - "assets": [], - "sections" : [ - "INTRODUCTION", - "THEORY", - "OBJECTIVE", - "EXPERIMENT", - "MANUAL", - "QUIZZES", - "FURTHER READINGS", - "FEEDBACK" - ] - } -} diff --git a/specifications/iiit-hyderabad/quantum-chemistry/e98540.json b/specifications/iiit-hyderabad/quantum-chemistry/e98540.json deleted file mode 100644 index 5900419..0000000 --- a/specifications/iiit-hyderabad/quantum-chemistry/e98540.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "experiment": { - "id": "e98540", - "name": "Huckel Molecular Orbital Theory", - "discipline_id": "chem", - "institute_id": "iiith", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://ccnsb04-iiith.virtual-labs.ac.in/exp8/index.php" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Huckel Molecular Orbital Theory", - "assets": [], - "sections" : [ - "INTRODUCTION", - "THEORY", - "OBJECTIVE", - "EXPERIMENT", - "MANUAL", - "QUIZZES", - "FURTHER READINGS", - "FEEDBACK" - ] - } -} diff --git a/specifications/iiit-hyderabad/quantum-chemistry/e98541.json b/specifications/iiit-hyderabad/quantum-chemistry/e98541.json deleted file mode 100644 index 7aac65a..0000000 --- a/specifications/iiit-hyderabad/quantum-chemistry/e98541.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "experiment": { - "id": "e98541", - "name": "Calculation of Vibrational Frequency of Molecules and Visualization of Normal Modes", - "discipline_id": "chem", - "institute_id": "iiith", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://ccnsb04-iiith.virtual-labs.ac.in/exp5/index.php" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Calculation of Vibrational Frequency of Molecules and Visualization of Normal Modes", - "assets": [], - "sections" : [ - "INTRODUCTION", - "THEORY", - "OBJECTIVE", - "EXPERIMENT", - "MANUAL", - "QUIZZES", - "FURTHER READINGS", - "FEEDBACK" - ] - } -} diff --git a/specifications/iiit-hyderabad/quantum-chemistry/e98542.json b/specifications/iiit-hyderabad/quantum-chemistry/e98542.json deleted file mode 100644 index 0a03f52..0000000 --- a/specifications/iiit-hyderabad/quantum-chemistry/e98542.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "experiment": { - "id": "e98542", - "name": "Geometry Optimization using ab initio quantum calcuations", - "discipline_id": "chem", - "institute_id": "iiith", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://ccnsb04-iiith.virtual-labs.ac.in/exp4/index.php" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Geometry Optimization using ab initio quantum calcuations", - "assets": [], - "sections" : [ - "INTRODUCTION", - "THEORY", - "OBJECTIVE", - "EXPERIMENT", - "MANUAL", - "QUIZZES", - "FURTHER READINGS", - "FEEDBACK" - ] - } -} diff --git a/specifications/iiit-hyderabad/quantum-chemistry/e98543.json b/specifications/iiit-hyderabad/quantum-chemistry/e98543.json deleted file mode 100644 index 824f8d8..0000000 --- a/specifications/iiit-hyderabad/quantum-chemistry/e98543.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "experiment": { - "id": "e98543", - "name": "Vib-rotational Spectroscopy of Hydrogen Chloride", - "discipline_id": "chem", - "institute_id": "iiith", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://ccnsb04-iiith.virtual-labs.ac.in/exp3/index.php" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Vib-rotational Spectroscopy of Hydrogen Chloride", - "assets": [], - "sections" : [ - "INTRODUCTION", - "THEORY", - "OBJECTIVE", - "EXPERIMENT", - "MANUAL", - "QUIZZES", - "FURTHER READINGS", - "FEEDBACK" - ] - } -} diff --git a/specifications/iiit-hyderabad/quantum-chemistry/e98544.json b/specifications/iiit-hyderabad/quantum-chemistry/e98544.json deleted file mode 100644 index bc5041f..0000000 --- a/specifications/iiit-hyderabad/quantum-chemistry/e98544.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "experiment": { - "id": "e98544", - "name": "UV-Visible Spectroscopy of Conjugated Molecules", - "discipline_id": "chem", - "institute_id": "iiith", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://ccnsb04-iiith.virtual-labs.ac.in/exp2/index.php" - } - ], - "integration_level": 4, - "overview": "This experiments deals with UV-Visible Spectroscopy of Conjugated Molecules", - "assets": [], - "sections" : [ - "INTRODUCTION", - "THEORY", - "OBJECTIVE", - "EXPERIMENT", - "MANUAL", - "QUIZZES", - "FURTHER READINGS", - "FEEDBACK" - ] - } -} diff --git a/specifications/iiit-hyderabad/quantum-chemistry/quantum-chemistry.json b/specifications/iiit-hyderabad/quantum-chemistry/quantum-chemistry.json deleted file mode 100644 index 44b7038..0000000 --- a/specifications/iiit-hyderabad/quantum-chemistry/quantum-chemistry.json +++ /dev/null @@ -1,37 +0,0 @@ -{ - "lab": { - "id": "ccnsb04", - "name": "quantum chemistry", - "discipline_id": "chem", - "institute_id": "iiith", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://ccnsb04-iiith.virtual-labs.ac.in/" - } - ], - "integration_level": 4, - "overview": "This lab deals with quantum chemistry", - "assets": [], - "sections": [ - { - "name": "Introduction" - }, - { - "experiments" : [ - "e98544", - "e98543", - "e98542", - "e98541", - "e98540", - "e98539", - "e98538", - "e98537", - "e98536" - ] - } - ] - } -} diff --git a/specifications/iiit-hyderabad/soil-mechanics-lab/dump_json_to_lds.py b/specifications/iiit-hyderabad/soil-mechanics-lab/dump_json_to_lds.py deleted file mode 100644 index 78c74fa..0000000 --- a/specifications/iiit-hyderabad/soil-mechanics-lab/dump_json_to_lds.py +++ /dev/null @@ -1,44 +0,0 @@ - -import os -import os.path -import json -import requests -import glob - -URL= 'http://localhost:5000' -json_path_list = [] - -def post_lab_spec(file_path): - - with open(file_path) as json_file: - print file_path - data = json.load(json_file) - if 'lab' in data.keys(): - end_point = "/labs" - if 'experiment' in data.keys(): - end_point = "/experiments" - - data['key'] = 'defaultkey' - APP_URL = URL + end_point - headers = {'Content-Type': 'application/json'} - try: - response = requests.post(APP_URL, data = json.dumps(data), - headers=headers) - if response.status_code == 200: - print "Added json data : " + file_path - else: - print "Errore in adding json file " + file_path + " due to " + response.text - except Exception as e: - print str(e) -try: - exp_file_list = glob.glob(os.getcwd() + "/e9*.json") - lab_file_list = glob.glob(os.getcwd() + "/[!e9]*.json") - - for filename in exp_file_list: - json_path_list.append(filename) -except Exception as e: - print str(e) - -for file_path in json_path_list: - post_lab_spec(file_path) -post_lab_spec(lab_file_list[0]) diff --git a/specifications/iiit-hyderabad/soil-mechanics-lab/e98545.json b/specifications/iiit-hyderabad/soil-mechanics-lab/e98545.json deleted file mode 100644 index a7b2946..0000000 --- a/specifications/iiit-hyderabad/soil-mechanics-lab/e98545.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "experiment": { - "id": "e98545", - "name": "Triaxial Test Experiment", - "discipline_id": "civil", - "institute_id": "iiith", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "cloud", - "hosted_url": "http://eerc02-iiith.virtual-labs.ac.in/exp10/index.php" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Triaxial Test Experiment", - "assets": [], - "sections" : [ - "INTRODUCTION", - "THEORY", - "OBJECTIVE", - "EXPERIMENT", - "MANUAL", - "QUIZZES", - "PROCEDURE", - "FURTHER READINGS" - ] - } -} diff --git a/specifications/iiit-hyderabad/soil-mechanics-lab/e98546.json b/specifications/iiit-hyderabad/soil-mechanics-lab/e98546.json deleted file mode 100644 index 1ac6b94..0000000 --- a/specifications/iiit-hyderabad/soil-mechanics-lab/e98546.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "experiment": { - "id": "e98546", - "name": "Direct Shear Test Experiment", - "discipline_id": "civil", - "institute_id": "iiith", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "cloud", - "hosted_url": "http://eerc02-iiith.virtual-labs.ac.in/exp9/index.php" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Direct Shear Test Experiment", - "assets": [], - "sections" : [ - "INTRODUCTION", - "THEORY", - "OBJECTIVE", - "EXPERIMENT", - "MANUAL", - "QUIZZES", - "PROCEDURE", - "FURTHER READINGS" - ] - } -} diff --git a/specifications/iiit-hyderabad/soil-mechanics-lab/e98547.json b/specifications/iiit-hyderabad/soil-mechanics-lab/e98547.json deleted file mode 100644 index 8463d0d..0000000 --- a/specifications/iiit-hyderabad/soil-mechanics-lab/e98547.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "experiment": { - "id": "e98547", - "name": "Consolidation Test Experiment", - "discipline_id": "civil", - "institute_id": "iiith", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "cloud", - "hosted_url": "http://eerc02-iiith.virtual-labs.ac.in/exp8/index.php" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Consolidation Test Experiment", - "assets": [], - "sections" : [ - "INTRODUCTION", - "THEORY", - "OBJECTIVE", - "EXPERIMENT", - "MANUAL", - "QUIZZES", - "PROCEDURE", - "FURTHER READINGS" - ] - } -} diff --git a/specifications/iiit-hyderabad/soil-mechanics-lab/e98548.json b/specifications/iiit-hyderabad/soil-mechanics-lab/e98548.json deleted file mode 100644 index 36bb05f..0000000 --- a/specifications/iiit-hyderabad/soil-mechanics-lab/e98548.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "experiment": { - "id": "e98548", - "name": "Compaction Test Experiment", - "discipline_id": "civil", - "institute_id": "iiith", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "cloud", - "hosted_url": "http://eerc02-iiith.virtual-labs.ac.in/exp7/index.php" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Compaction Test Experiment", - "assets": [], - "sections" : [ - "INTRODUCTION", - "THEORY", - "OBJECTIVE", - "EXPERIMENT", - "MANUAL", - "QUIZZES", - "PROCEDURE", - "FURTHER READINGS" - ] - } -} diff --git a/specifications/iiit-hyderabad/soil-mechanics-lab/e98549.json b/specifications/iiit-hyderabad/soil-mechanics-lab/e98549.json deleted file mode 100644 index 2dd8059..0000000 --- a/specifications/iiit-hyderabad/soil-mechanics-lab/e98549.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "experiment": { - "id": "e98549", - "name": "Permeability Experiment", - "discipline_id": "civil", - "institute_id": "iiith", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "cloud", - "hosted_url": "http://eerc02-iiith.virtual-labs.ac.in/exp6/index.php" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Permeability Experiment", - "assets": [], - "sections" : [ - "INTRODUCTION", - "THEORY", - "OBJECTIVE", - "EXPERIMENT", - "MANUAL", - "QUIZZES", - "PROCEDURE", - "FURTHER READINGS" - ] - } -} diff --git a/specifications/iiit-hyderabad/soil-mechanics-lab/e98550.json b/specifications/iiit-hyderabad/soil-mechanics-lab/e98550.json deleted file mode 100644 index 2763c68..0000000 --- a/specifications/iiit-hyderabad/soil-mechanics-lab/e98550.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "experiment": { - "id": "e98550", - "name": "Attenberg Limits Experiment", - "discipline_id": "civil", - "institute_id": "iiith", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "cloud", - "hosted_url": "http://eerc02-iiith.virtual-labs.ac.in/exp5/index.php" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Attenberg Limits Experiment", - "assets": [], - "sections" : [ - "INTRODUCTION", - "THEORY", - "OBJECTIVE", - "EXPERIMENT", - "MANUAL", - "QUIZZES", - "PROCEDURE", - "FURTHER READINGS" - ] - } -} diff --git a/specifications/iiit-hyderabad/soil-mechanics-lab/e98551.json b/specifications/iiit-hyderabad/soil-mechanics-lab/e98551.json deleted file mode 100644 index 2d479c8..0000000 --- a/specifications/iiit-hyderabad/soil-mechanics-lab/e98551.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "experiment": { - "id": "e98551", - "name": "Grain Size Distribution Experiment", - "discipline_id": "civil", - "institute_id": "iiith", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "cloud", - "hosted_url": "http://eerc02-iiith.virtual-labs.ac.in/exp4/index.php" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Grain Size Distribution Experiment", - "assets": [], - "sections" : [ - "INTRODUCTION", - "THEORY", - "OBJECTIVE", - "EXPERIMENT", - "MANUAL", - "QUIZZES", - "PROCEDURE", - "FURTHER READINGS" - ] - } -} diff --git a/specifications/iiit-hyderabad/soil-mechanics-lab/e98552.json b/specifications/iiit-hyderabad/soil-mechanics-lab/e98552.json deleted file mode 100644 index d3f0185..0000000 --- a/specifications/iiit-hyderabad/soil-mechanics-lab/e98552.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "experiment": { - "id": "e98552", - "name": "Specific Gravity Experiment", - "discipline_id": "civil", - "institute_id": "iiith", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "cloud", - "hosted_url": "http://eerc02-iiith.virtual-labs.ac.in/exp3/index.php" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Specific Gravity Experiment", - "assets": [], - "sections" : [ - "INTRODUCTION", - "THEORY", - "OBJECTIVE", - "EXPERIMENT", - "MANUAL", - "QUIZZES", - "PROCEDURE", - "FURTHER READINGS" - ] - } -} diff --git a/specifications/iiit-hyderabad/soil-mechanics-lab/e98553.json b/specifications/iiit-hyderabad/soil-mechanics-lab/e98553.json deleted file mode 100644 index 671df1a..0000000 --- a/specifications/iiit-hyderabad/soil-mechanics-lab/e98553.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "experiment": { - "id": "e98553", - "name": "Unit Weight Experiment", - "discipline_id": "civil", - "institute_id": "iiith", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "cloud", - "hosted_url": "http://eerc02-iiith.virtual-labs.ac.in/exp2/index.php" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Unit Weight Experiment", - "assets": [], - "sections" : [ - "INTRODUCTION", - "THEORY", - "OBJECTIVE", - "EXPERIMENT", - "MANUAL", - "QUIZZES", - "PROCEDURE", - "FURTHER READINGS" - ] - } -} diff --git a/specifications/iiit-hyderabad/soil-mechanics-lab/e98554.json b/specifications/iiit-hyderabad/soil-mechanics-lab/e98554.json deleted file mode 100644 index 5ef514a..0000000 --- a/specifications/iiit-hyderabad/soil-mechanics-lab/e98554.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "experiment": { - "id": "e98554", - "name": "Water Content Experiment", - "discipline_id": "civil", - "institute_id": "iiith", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "cloud", - "hosted_url": "http://eerc02-iiith.virtual-labs.ac.in/exp1/index.php" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Water Content Experiment", - "assets": [], - "sections" : [ - "INTRODUCTION", - "THEORY", - "OBJECTIVE", - "EXPERIMENT", - "MANUAL", - "QUIZZES", - "PROCEDURE", - "FURTHER READINGS" - ] - } -} diff --git a/specifications/iiit-hyderabad/soil-mechanics-lab/soil-mechanics-lab.json b/specifications/iiit-hyderabad/soil-mechanics-lab/soil-mechanics-lab.json deleted file mode 100644 index 219eec7..0000000 --- a/specifications/iiit-hyderabad/soil-mechanics-lab/soil-mechanics-lab.json +++ /dev/null @@ -1,38 +0,0 @@ -{ - "lab": { - "id": "eerc02", - "name": "soil mechanics lab", - "discipline_id": "civil", - "institute_id": "iiith", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "cloud", - "hosted_url": "http://eerc02-iiith.virtual-labs.ac.in/" - } - ], - "integration_level": 4, - "overview": "This lab deals with soil mechanics lab", - "assets": [], - "sections": [ - { - "name": "Introduction" - }, - { - "experiments" : [ - "e98554", - "e98553", - "e98552", - "e98551", - "e98550", - "e98549", - "e98548", - "e98547", - "e98546", - "e98545" - ] - } - ] - } -} diff --git a/specifications/iiit-hyderabad/speech-signal-processing/dump_json_to_lds.py b/specifications/iiit-hyderabad/speech-signal-processing/dump_json_to_lds.py deleted file mode 100644 index 78c74fa..0000000 --- a/specifications/iiit-hyderabad/speech-signal-processing/dump_json_to_lds.py +++ /dev/null @@ -1,44 +0,0 @@ - -import os -import os.path -import json -import requests -import glob - -URL= 'http://localhost:5000' -json_path_list = [] - -def post_lab_spec(file_path): - - with open(file_path) as json_file: - print file_path - data = json.load(json_file) - if 'lab' in data.keys(): - end_point = "/labs" - if 'experiment' in data.keys(): - end_point = "/experiments" - - data['key'] = 'defaultkey' - APP_URL = URL + end_point - headers = {'Content-Type': 'application/json'} - try: - response = requests.post(APP_URL, data = json.dumps(data), - headers=headers) - if response.status_code == 200: - print "Added json data : " + file_path - else: - print "Errore in adding json file " + file_path + " due to " + response.text - except Exception as e: - print str(e) -try: - exp_file_list = glob.glob(os.getcwd() + "/e9*.json") - lab_file_list = glob.glob(os.getcwd() + "/[!e9]*.json") - - for filename in exp_file_list: - json_path_list.append(filename) -except Exception as e: - print str(e) - -for file_path in json_path_list: - post_lab_spec(file_path) -post_lab_spec(lab_file_list[0]) diff --git a/specifications/iiit-hyderabad/speech-signal-processing/e98738.json b/specifications/iiit-hyderabad/speech-signal-processing/e98738.json deleted file mode 100644 index bbd22a5..0000000 --- a/specifications/iiit-hyderabad/speech-signal-processing/e98738.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "experiment": { - "id": "e98738", - "name": "Analysis-by-synthesis of speech", - "discipline_id": "ece", - "institute_id": "iiith", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://ssp-iiith.vlabs.ac.in/exp10/Objective.html?domain=Computer%20Science&lab=Speech%20Signal%20Processing" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Analysis-by-synthesis of speech", - "assets": [], - "sections" : [ - "Objective", - "Procedure", - "Tutorial", - "Experiment", - "Observations", - "Assessment", - "References", - "Feedback" - ] - } -} diff --git a/specifications/iiit-hyderabad/speech-signal-processing/e98739.json b/specifications/iiit-hyderabad/speech-signal-processing/e98739.json deleted file mode 100644 index ab4d04e..0000000 --- a/specifications/iiit-hyderabad/speech-signal-processing/e98739.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "experiment": { - "id": "e98739", - "name": "Formant synthesis", - "discipline_id": "ece", - "institute_id": "iiith", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://ssp-iiith.vlabs.ac.in/exp09/Objective.html?domain=Computer%20Science&lab=Speech%20Signal%20Processing" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Formant synthesis", - "assets": [], - "sections" : [ - "Objective", - "Procedure", - "Tutorial", - "Experiment", - "Observations", - "Assessment", - "References", - "Feedback" - ] - } -} diff --git a/specifications/iiit-hyderabad/speech-signal-processing/e98740.json b/specifications/iiit-hyderabad/speech-signal-processing/e98740.json deleted file mode 100644 index 49a74dd..0000000 --- a/specifications/iiit-hyderabad/speech-signal-processing/e98740.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "experiment": { - "id": "e98740", - "name": "Linear prediction analysis of speech", - "discipline_id": "ece", - "institute_id": "iiith", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://ssp-iiith.vlabs.ac.in/exp08/Objective.html?domain=Computer%20Science&lab=Speech%20Signal%20Processing" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Linear prediction analysis of speech", - "assets": [], - "sections" : [ - "Objective", - "Procedure", - "Tutorial", - "Experiment", - "Observations", - "Assessment", - "References", - "Feedback" - ] - } -} diff --git a/specifications/iiit-hyderabad/speech-signal-processing/e98741.json b/specifications/iiit-hyderabad/speech-signal-processing/e98741.json deleted file mode 100644 index a3a2bec..0000000 --- a/specifications/iiit-hyderabad/speech-signal-processing/e98741.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "experiment": { - "id": "e98741", - "name": "Cepstral analysis of speech", - "discipline_id": "ece", - "institute_id": "iiith", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://ssp-iiith.vlabs.ac.in/exp07/Objective.html?domain=Computer%20Science&lab=Speech%20Signal%20Processing" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Cepstral analysis of speech", - "assets": [], - "sections" : [ - "Objective", - "Procedure", - "Tutorial", - "Experiment", - "Observations", - "References", - "Feedback" - ] - } -} diff --git a/specifications/iiit-hyderabad/speech-signal-processing/e98742.json b/specifications/iiit-hyderabad/speech-signal-processing/e98742.json deleted file mode 100644 index 506983f..0000000 --- a/specifications/iiit-hyderabad/speech-signal-processing/e98742.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "experiment": { - "id": "e98742", - "name": "Spectrographic analysis of speech", - "discipline_id": "ece", - "institute_id": "iiith", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://ssp-iiith.vlabs.ac.in/exp06/Objective.html?domain=Computer%20Science&lab=Speech%20Signal%20Processing" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Spectrographic analysis of speech", - "assets": [], - "sections" : [ - "Objective", - "Procedure", - "Tutorial", - "Experiment", - "Observations", - "Assessment", - "References", - "Feedback" - ] - } -} diff --git a/specifications/iiit-hyderabad/speech-signal-processing/e98743.json b/specifications/iiit-hyderabad/speech-signal-processing/e98743.json deleted file mode 100644 index 6f0f845..0000000 --- a/specifications/iiit-hyderabad/speech-signal-processing/e98743.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "experiment": { - "id": "e98743", - "name": "Short-time spectrum analysis of speech", - "discipline_id": "ece", - "institute_id": "iiith", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://ssp-iiith.vlabs.ac.in/exp05/Objective.html?domain=Computer%20Science&lab=Speech%20Signal%20Processing" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Short-time spectrum analysis of speech", - "assets": [], - "sections" : [ - "Objective", - "Procedure", - "Tutorial", - "Experiment", - "Observations", - "Assessment", - "References", - "Feedback" - ] - } -} diff --git a/specifications/iiit-hyderabad/speech-signal-processing/e98744.json b/specifications/iiit-hyderabad/speech-signal-processing/e98744.json deleted file mode 100644 index e8eae07..0000000 --- a/specifications/iiit-hyderabad/speech-signal-processing/e98744.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "experiment": { - "id": "e98744", - "name": "Basics of DSP", - "discipline_id": "ece", - "institute_id": "iiith", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://ssp-iiith.vlabs.ac.in/exp04/Objective.html?domain=Computer%20Science&lab=Speech%20Signal%20Processing" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Basics of DSP", - "assets": [], - "sections" : [ - "Objective", - "Procedure", - "Tutorial", - "Experiment", - "Observations", - "References", - "Feedback" - ] - } -} diff --git a/specifications/iiit-hyderabad/speech-signal-processing/e98745.json b/specifications/iiit-hyderabad/speech-signal-processing/e98745.json deleted file mode 100644 index 7f42914..0000000 --- a/specifications/iiit-hyderabad/speech-signal-processing/e98745.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "experiment": { - "id": "e98745", - "name": "Nature of Speech Signal", - "discipline_id": "ece", - "institute_id": "iiith", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://ssp-iiith.vlabs.ac.in/exp03/Objective.html?domain=Computer%20Science&lab=Speech%20Signal%20Processing" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Nature of Speech Signal", - "assets": [], - "sections" : [ - "Objective", - "Procedure", - "Tutorial", - "Experiment", - "Observations", - "References", - "Feedback" - ] - } -} diff --git a/specifications/iiit-hyderabad/speech-signal-processing/e98746.json b/specifications/iiit-hyderabad/speech-signal-processing/e98746.json deleted file mode 100644 index 1397b7c..0000000 --- a/specifications/iiit-hyderabad/speech-signal-processing/e98746.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "experiment": { - "id": "e98746", - "name": "Speech production mechanism", - "discipline_id": "ece", - "institute_id": "iiith", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://ssp-iiith.vlabs.ac.in/exp02/Objective.html?domain=Computer%20Science&lab=Speech%20Signal%20Processing" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Speech production mechanism", - "assets": [], - "sections" : [ - "Objective", - "Procedure", - "Tutorial", - "Experiment", - "Observations", - "References", - "Feedback" - ] - } -} diff --git a/specifications/iiit-hyderabad/speech-signal-processing/e98747.json b/specifications/iiit-hyderabad/speech-signal-processing/e98747.json deleted file mode 100644 index 5d877cf..0000000 --- a/specifications/iiit-hyderabad/speech-signal-processing/e98747.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "experiment": { - "id": "e98747", - "name": "Manual speech signal-to-symbol transformation", - "discipline_id": "ece", - "institute_id": "iiith", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://ssp-iiith.vlabs.ac.in/exp01/Objective.html?domain=Computer%20Science&lab=Speech%20Signal%20Processing" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Manual speech signal-to-symbol transformation", - "assets": [], - "sections" : [ - "Objective", - "Procedure", - "Tutorial", - "Experiment", - "Observations", - "Assessment", - "References", - "Feedback" - ] - } -} diff --git a/specifications/iiit-hyderabad/speech-signal-processing/speech-signal-processing.json b/specifications/iiit-hyderabad/speech-signal-processing/speech-signal-processing.json deleted file mode 100644 index f782df2..0000000 --- a/specifications/iiit-hyderabad/speech-signal-processing/speech-signal-processing.json +++ /dev/null @@ -1,38 +0,0 @@ -{ - "lab": { - "id": "cse16", - "name": "speech signal processing", - "discipline_id": "ece", - "institute_id": "iiith", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://ssp-iiith.vlabs.ac.in/" - } - ], - "integration_level": 4, - "overview": "This lab deals with speech signal processing", - "assets": [], - "sections": [ - { - "name": "Introduction" - }, - { - "experiments" : [ - "e98747", - "e98746", - "e98745", - "e98744", - "e98743", - "e98742", - "e98741", - "e98740", - "e98739", - "e98738" - ] - } - ] - } -} diff --git a/specifications/iiit-hyderabad/structural-dynamics/dump_json_to_lds.py b/specifications/iiit-hyderabad/structural-dynamics/dump_json_to_lds.py deleted file mode 100644 index 78c74fa..0000000 --- a/specifications/iiit-hyderabad/structural-dynamics/dump_json_to_lds.py +++ /dev/null @@ -1,44 +0,0 @@ - -import os -import os.path -import json -import requests -import glob - -URL= 'http://localhost:5000' -json_path_list = [] - -def post_lab_spec(file_path): - - with open(file_path) as json_file: - print file_path - data = json.load(json_file) - if 'lab' in data.keys(): - end_point = "/labs" - if 'experiment' in data.keys(): - end_point = "/experiments" - - data['key'] = 'defaultkey' - APP_URL = URL + end_point - headers = {'Content-Type': 'application/json'} - try: - response = requests.post(APP_URL, data = json.dumps(data), - headers=headers) - if response.status_code == 200: - print "Added json data : " + file_path - else: - print "Errore in adding json file " + file_path + " due to " + response.text - except Exception as e: - print str(e) -try: - exp_file_list = glob.glob(os.getcwd() + "/e9*.json") - lab_file_list = glob.glob(os.getcwd() + "/[!e9]*.json") - - for filename in exp_file_list: - json_path_list.append(filename) -except Exception as e: - print str(e) - -for file_path in json_path_list: - post_lab_spec(file_path) -post_lab_spec(lab_file_list[0]) diff --git a/specifications/iiit-hyderabad/structural-dynamics/e98517.json b/specifications/iiit-hyderabad/structural-dynamics/e98517.json deleted file mode 100644 index 04dc574..0000000 --- a/specifications/iiit-hyderabad/structural-dynamics/e98517.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "experiment": { - "id": "e98517", - "name": "Vibration Control", - "discipline_id": "civil", - "institute_id": "iiith", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "cloud", - "hosted_url": "http://sd-iiith.vlabs.ac.in/exp10/Introduction.html?domain=Civil%20Engineering&lab=Welcome%20to%20Structural%20Dynamics%20lab%21" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Vibration Control", - "assets": [], - "sections" : [ - "Introduction", - "Objective", - "Theory", - "Experiment", - "Manual", - "Quizzes", - "Procedure", - "Further Readings", - "Feedback" - ] - } -} diff --git a/specifications/iiit-hyderabad/structural-dynamics/e98518.json b/specifications/iiit-hyderabad/structural-dynamics/e98518.json deleted file mode 100644 index 159b4b6..0000000 --- a/specifications/iiit-hyderabad/structural-dynamics/e98518.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "experiment": { - "id": "e98518", - "name": "Continuous Systems", - "discipline_id": "civil", - "institute_id": "iiith", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "cloud", - "hosted_url": "http://sd-iiith.vlabs.ac.in/exp9/Introduction.html?domain=Civil%20Engineering&lab=Welcome%20to%20Structural%20Dynamics%20lab%21" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Continuous Systems", - "assets": [], - "sections" : [ - "Introduction", - "Objective", - "Theory", - "Experiment", - "Manual", - "Quizzes", - "Procedure", - "Further Readings", - "Feedback" - ] - } -} diff --git a/specifications/iiit-hyderabad/structural-dynamics/e98724.json b/specifications/iiit-hyderabad/structural-dynamics/e98724.json deleted file mode 100644 index 7410585..0000000 --- a/specifications/iiit-hyderabad/structural-dynamics/e98724.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "experiment": { - "id": "e98724", - "name": "Torsional Response of Building", - "discipline_id": "civil", - "institute_id": "iiith", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "cloud", - "hosted_url": "http://sd-iiith.vlabs.ac.in/exp8/Introduction.html?domain=Civil%20Engineering&lab=Welcome%20to%20Structural%20Dynamics%20lab%21" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Torsional Response of Building", - "assets": [], - "sections" : [ - "Introduction", - "Objective", - "Theory", - "Experiment", - "Manual", - "Quizzes", - "Procedure", - "Further Readings", - "Feedback" - ] - } -} diff --git a/specifications/iiit-hyderabad/structural-dynamics/e98725.json b/specifications/iiit-hyderabad/structural-dynamics/e98725.json deleted file mode 100644 index fb99058..0000000 --- a/specifications/iiit-hyderabad/structural-dynamics/e98725.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "experiment": { - "id": "e98725", - "name": "Behaviour of Rigid Blocks", - "discipline_id": "civil", - "institute_id": "iiith", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "cloud", - "hosted_url": "http://sd-iiith.vlabs.ac.in/exp7/Introduction.html?domain=Civil%20Engineering&lab=Welcome%20to%20Structural%20Dynamics%20lab%21" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Behaviour of Rigid Blocks", - "assets": [], - "sections" : [ - "Introduction", - "Objective", - "Theory", - "Experiment", - "Manual", - "Quizzes", - "Procedure", - "Further Readings", - "Feedback" - ] - } -} diff --git a/specifications/iiit-hyderabad/structural-dynamics/e98726.json b/specifications/iiit-hyderabad/structural-dynamics/e98726.json deleted file mode 100644 index a5f0e00..0000000 --- a/specifications/iiit-hyderabad/structural-dynamics/e98726.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "experiment": { - "id": "e98726", - "name": "Vibration of M.D.O.F System", - "discipline_id": "civil", - "institute_id": "iiith", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "cloud", - "hosted_url": "http://sd-iiith.vlabs.ac.in/exp6/Introduction.html?domain=Civil%20Engineering&lab=Welcome%20to%20Structural%20Dynamics%20lab%21" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Vibration of M.D.O.F System", - "assets": [], - "sections" : [ - "Introduction", - "Objective", - "Theory", - "Experiment", - "Manual", - "Quizzes", - "Procedure", - "Further Readings", - "Feedback" - ] - } -} diff --git a/specifications/iiit-hyderabad/structural-dynamics/e98727.json b/specifications/iiit-hyderabad/structural-dynamics/e98727.json deleted file mode 100644 index c21a80e..0000000 --- a/specifications/iiit-hyderabad/structural-dynamics/e98727.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "experiment": { - "id": "e98727", - "name": "Concept of Response Spectrum", - "discipline_id": "civil", - "institute_id": "iiith", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "cloud", - "hosted_url": "http://sd-iiith.vlabs.ac.in/exp5/Introduction.html?domain=Civil%20Engineering&lab=Welcome%20to%20Structural%20Dynamics%20lab%21" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Concept of Response Spectrum", - "assets": [], - "sections" : [ - "Introduction", - "Objective", - "Theory", - "Experiment", - "Manual", - "Quizzes", - "Procedure", - "Further Readings", - "Feedback" - ] - } -} diff --git a/specifications/iiit-hyderabad/structural-dynamics/e98728.json b/specifications/iiit-hyderabad/structural-dynamics/e98728.json deleted file mode 100644 index faabe0f..0000000 --- a/specifications/iiit-hyderabad/structural-dynamics/e98728.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "experiment": { - "id": "e98728", - "name": "Impulse Response of S.D.O.F System", - "discipline_id": "civil", - "institute_id": "iiith", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "cloud", - "hosted_url": "http://sd-iiith.vlabs.ac.in/exp4/Introduction.html?domain=Civil%20Engineering&lab=Welcome%20to%20Structural%20Dynamics%20lab%21" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Impulse Response of S.D.O.F System", - "assets": [], - "sections" : [ - "Introduction", - "Objective", - "Theory", - "Experiment", - "Manual", - "Quizzes", - "Procedure", - "Further Readings", - "Feedback" - ] - } -} diff --git a/specifications/iiit-hyderabad/structural-dynamics/e98729.json b/specifications/iiit-hyderabad/structural-dynamics/e98729.json deleted file mode 100644 index 38a573d..0000000 --- a/specifications/iiit-hyderabad/structural-dynamics/e98729.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "experiment": { - "id": "e98729", - "name": "Forced Vibration of S.D.O.F System", - "discipline_id": "civil", - "institute_id": "iiith", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "cloud", - "hosted_url": "http://sd-iiith.vlabs.ac.in/exp3/Introduction.html?domain=Civil%20Engineering&lab=Welcome%20to%20Structural%20Dynamics%20lab%21" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Forced Vibration of S.D.O.F System", - "assets": [], - "sections" : [ - "Introduction", - "Objective", - "Theory", - "Experiment", - "Manual", - "Quizzes", - "Procedure", - "Further Readings", - "Feedback" - ] - } -} diff --git a/specifications/iiit-hyderabad/structural-dynamics/e98730.json b/specifications/iiit-hyderabad/structural-dynamics/e98730.json deleted file mode 100644 index 1d833d5..0000000 --- a/specifications/iiit-hyderabad/structural-dynamics/e98730.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "experiment": { - "id": "e98730", - "name": "Free Vibration of S.D.O.F System", - "discipline_id": "civil", - "institute_id": "iiith", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "cloud", - "hosted_url": "http://sd-iiith.vlabs.ac.in/exp2/Introduction.html?domain=Civil%20Engineering&lab=Welcome%20to%20Structural%20Dynamics%20lab%21" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Free Vibration of S.D.O.F System", - "assets": [], - "sections" : [ - "Introduction", - "Objective", - "Theory", - "Experiment", - "Manual", - "Quizzes", - "Procedure", - "Further Readings", - "Feedback" - ] - } -} diff --git a/specifications/iiit-hyderabad/structural-dynamics/e98731.json b/specifications/iiit-hyderabad/structural-dynamics/e98731.json deleted file mode 100644 index 1cbebac..0000000 --- a/specifications/iiit-hyderabad/structural-dynamics/e98731.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "experiment": { - "id": "e98731", - "name": "imple Harmonic Oscillator", - "discipline_id": "civil", - "institute_id": "iiith", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "cloud", - "hosted_url": "http://sd-iiith.vlabs.ac.in/exp1/Introduction.html?domain=Civil%20Engineering&lab=Welcome%20to%20Structural%20Dynamics%20lab%21" - } - ], - "integration_level": 4, - "overview": "This experiments deals with imple Harmonic Oscillator", - "assets": [], - "sections" : [ - "Introduction", - "Objective", - "Theory", - "Experiment", - "Manual", - "Quizzes", - "Procedure", - "Further Readings", - "Feedback" - ] - } -} diff --git a/specifications/iiit-hyderabad/structural-dynamics/structural-dynamics.json b/specifications/iiit-hyderabad/structural-dynamics/structural-dynamics.json deleted file mode 100644 index b9a9160..0000000 --- a/specifications/iiit-hyderabad/structural-dynamics/structural-dynamics.json +++ /dev/null @@ -1,38 +0,0 @@ -{ - "lab": { - "id": "eerc06", - "name": "structural dynamics", - "discipline_id": "civil", - "institute_id": "iiith", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "cloud", - "hosted_url": "http://sd-iiith.vlabs.ac.in/" - } - ], - "integration_level": 4, - "overview": "This lab deals with structural dynamics", - "assets": [], - "sections": [ - { - "name": "Introduction" - }, - { - "experiments" : [ - "e98731", - "e98730", - "e98729", - "e98728", - "e98727", - "e98726", - "e98725", - "e98724", - "e98518", - "e98517" - ] - } - ] - } -} diff --git a/specifications/iiit-hyderabad/virtual-advanced-vlsi-lab/dump_json_to_lds.py b/specifications/iiit-hyderabad/virtual-advanced-vlsi-lab/dump_json_to_lds.py deleted file mode 100644 index 78c74fa..0000000 --- a/specifications/iiit-hyderabad/virtual-advanced-vlsi-lab/dump_json_to_lds.py +++ /dev/null @@ -1,44 +0,0 @@ - -import os -import os.path -import json -import requests -import glob - -URL= 'http://localhost:5000' -json_path_list = [] - -def post_lab_spec(file_path): - - with open(file_path) as json_file: - print file_path - data = json.load(json_file) - if 'lab' in data.keys(): - end_point = "/labs" - if 'experiment' in data.keys(): - end_point = "/experiments" - - data['key'] = 'defaultkey' - APP_URL = URL + end_point - headers = {'Content-Type': 'application/json'} - try: - response = requests.post(APP_URL, data = json.dumps(data), - headers=headers) - if response.status_code == 200: - print "Added json data : " + file_path - else: - print "Errore in adding json file " + file_path + " due to " + response.text - except Exception as e: - print str(e) -try: - exp_file_list = glob.glob(os.getcwd() + "/e9*.json") - lab_file_list = glob.glob(os.getcwd() + "/[!e9]*.json") - - for filename in exp_file_list: - json_path_list.append(filename) -except Exception as e: - print str(e) - -for file_path in json_path_list: - post_lab_spec(file_path) -post_lab_spec(lab_file_list[0]) diff --git a/specifications/iiit-hyderabad/virtual-advanced-vlsi-lab/e98585.json b/specifications/iiit-hyderabad/virtual-advanced-vlsi-lab/e98585.json deleted file mode 100644 index c9d17a8..0000000 --- a/specifications/iiit-hyderabad/virtual-advanced-vlsi-lab/e98585.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "experiment": { - "id": "e98585", - "name": "Linear Feedback Shift Register (LFSR)", - "discipline_id": "cse", - "institute_id": "iiith", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://cse13-iiith.virtual-labs.ac.in/lfsr/index.php" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Linear Feedback Shift Register (LFSR)", - "assets": [], - "sections" : [ - "INTRODUCTION", - "THEORY", - "OBJECTIVE", - "EXPERIMENT", - "MANUAL", - "QUIZZES", - "PROCEDURE", - "FURTHER READINGS" - ] - } -} diff --git a/specifications/iiit-hyderabad/virtual-advanced-vlsi-lab/e98586.json b/specifications/iiit-hyderabad/virtual-advanced-vlsi-lab/e98586.json deleted file mode 100644 index b0cc742..0000000 --- a/specifications/iiit-hyderabad/virtual-advanced-vlsi-lab/e98586.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "experiment": { - "id": "e98586", - "name": "(8,4) Hamming Coder", - "discipline_id": "cse", - "institute_id": "iiith", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://cse13-iiith.virtual-labs.ac.in/hamming_coder/index.php" - } - ], - "integration_level": 4, - "overview": "This experiments deals with (8,4) Hamming Coder", - "assets": [], - "sections" : [ - "INTRODUCTION", - "THEORY", - "OBJECTIVE", - "EXPERIMENT", - "MANUAL", - "QUIZZES", - "PROCEDURE", - "FURTHER READINGS" - ] - } -} diff --git a/specifications/iiit-hyderabad/virtual-advanced-vlsi-lab/e98587.json b/specifications/iiit-hyderabad/virtual-advanced-vlsi-lab/e98587.json deleted file mode 100644 index f5ade5d..0000000 --- a/specifications/iiit-hyderabad/virtual-advanced-vlsi-lab/e98587.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "experiment": { - "id": "e98587", - "name": "Array Multiplier", - "discipline_id": "cse", - "institute_id": "iiith", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://cse13-iiith.virtual-labs.ac.in/array_multiplier/index.php" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Array Multiplier", - "assets": [], - "sections" : [ - "INTRODUCTION", - "THEORY", - "OBJECTIVE", - "EXPERIMENT", - "MANUAL", - "QUIZZES", - "PROCEDURE", - "FURTHER READINGS" - ] - } -} diff --git a/specifications/iiit-hyderabad/virtual-advanced-vlsi-lab/e98588.json b/specifications/iiit-hyderabad/virtual-advanced-vlsi-lab/e98588.json deleted file mode 100644 index bf89d46..0000000 --- a/specifications/iiit-hyderabad/virtual-advanced-vlsi-lab/e98588.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "experiment": { - "id": "e98588", - "name": "5-3 Compressor", - "discipline_id": "cse", - "institute_id": "iiith", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://cse13-iiith.virtual-labs.ac.in/5_3_compressor/index.php" - } - ], - "integration_level": 4, - "overview": "This experiments deals with 5-3 Compressor", - "assets": [], - "sections" : [ - "INTRODUCTION", - "THEORY", - "OBJECTIVE", - "EXPERIMENT", - "MANUAL", - "QUIZZES", - "PROCEDURE", - "FURTHER READINGS" - ] - } -} diff --git a/specifications/iiit-hyderabad/virtual-advanced-vlsi-lab/e98589.json b/specifications/iiit-hyderabad/virtual-advanced-vlsi-lab/e98589.json deleted file mode 100644 index 7536ec9..0000000 --- a/specifications/iiit-hyderabad/virtual-advanced-vlsi-lab/e98589.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "experiment": { - "id": "e98589", - "name": "Carry Look Ahead Adder", - "discipline_id": "cse", - "institute_id": "iiith", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://cse13-iiith.virtual-labs.ac.in/carry_look_ahead_adder/index.php" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Carry Look Ahead Adder", - "assets": [], - "sections" : [ - "INTRODUCTION", - "THEORY", - "OBJECTIVE", - "EXPERIMENT", - "MANUAL", - "QUIZZES", - "PROCEDURE", - "FURTHER READINGS" - ] - } -} diff --git a/specifications/iiit-hyderabad/virtual-advanced-vlsi-lab/e98590.json b/specifications/iiit-hyderabad/virtual-advanced-vlsi-lab/e98590.json deleted file mode 100644 index f2e2f9e..0000000 --- a/specifications/iiit-hyderabad/virtual-advanced-vlsi-lab/e98590.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "experiment": { - "id": "e98590", - "name": "Power Reduction Using Gated Clocking", - "discipline_id": "cse", - "institute_id": "iiith", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://cse13-iiith.virtual-labs.ac.in/Gated_Clocking/index.php" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Power Reduction Using Gated Clocking", - "assets": [], - "sections" : [ - "INTRODUCTION", - "THEORY", - "OBJECTIVE", - "EXPERIMENT", - "MANUAL", - "QUIZZES", - "PROCEDURE", - "FURTHER READINGS" - ] - } -} diff --git a/specifications/iiit-hyderabad/virtual-advanced-vlsi-lab/e98591.json b/specifications/iiit-hyderabad/virtual-advanced-vlsi-lab/e98591.json deleted file mode 100644 index 74a6c25..0000000 --- a/specifications/iiit-hyderabad/virtual-advanced-vlsi-lab/e98591.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "experiment": { - "id": "e98591", - "name": "Semi Custom Design", - "discipline_id": "cse", - "institute_id": "iiith", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://cse13-iiith.virtual-labs.ac.in/semi_custom/index.php" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Semi Custom Design", - "assets": [], - "sections" : [ - "INTRODUCTION", - "THEORY", - "OBJECTIVE", - "EXPERIMENT", - "MANUAL", - "QUIZZES", - "PROCEDURE", - "FURTHER READINGS" - ] - } -} diff --git a/specifications/iiit-hyderabad/virtual-advanced-vlsi-lab/e98592.json b/specifications/iiit-hyderabad/virtual-advanced-vlsi-lab/e98592.json deleted file mode 100644 index f9ff518..0000000 --- a/specifications/iiit-hyderabad/virtual-advanced-vlsi-lab/e98592.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "experiment": { - "id": "e98592", - "name": "Full Custom Design", - "discipline_id": "cse", - "institute_id": "iiith", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://cse13-iiith.virtual-labs.ac.in/full_custom/index.php" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Full Custom Design", - "assets": [], - "sections" : [ - "INTRODUCTION", - "THEORY", - "OBJECTIVE", - "EXPERIMENT", - "MANUAL", - "QUIZZES", - "PROCEDURE", - "FURTHER READINGS" - ] - } -} diff --git a/specifications/iiit-hyderabad/virtual-advanced-vlsi-lab/e99488.json b/specifications/iiit-hyderabad/virtual-advanced-vlsi-lab/e99488.json deleted file mode 100644 index 40b185e..0000000 --- a/specifications/iiit-hyderabad/virtual-advanced-vlsi-lab/e99488.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "experiment": { - "id": "e99488", - "name": "Ripple Carry Adder", - "discipline_id": "cse", - "institute_id": "iiith", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://cse13-iiith.virtual-labs.ac.in/ripple_carry_adder/index.php" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Ripple Carry Adder", - "assets": [], - "sections" : [ - "INTRODUCTION", - "THEORY", - "OBJECTIVE", - "EXPERIMENT", - "MANUAL", - "QUIZZES", - "PROCEDURE", - "FURTHER READINGS" - ] - } -} diff --git a/specifications/iiit-hyderabad/virtual-advanced-vlsi-lab/virtual-advanced-vlsi-lab.json b/specifications/iiit-hyderabad/virtual-advanced-vlsi-lab/virtual-advanced-vlsi-lab.json deleted file mode 100644 index 737956d..0000000 --- a/specifications/iiit-hyderabad/virtual-advanced-vlsi-lab/virtual-advanced-vlsi-lab.json +++ /dev/null @@ -1,37 +0,0 @@ -{ - "lab": { - "id": "cse13", - "name": "virtual advanced vlsi lab", - "discipline_id": "cse", - "institute_id": "iiith", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://cse13-iiith.virtual-labs.ac.in/" - } - ], - "integration_level": 4, - "overview": "This lab deals with virtual advanced vlsi lab", - "assets": [], - "sections": [ - { - "name": "Introduction" - }, - { - "experiments" : [ - "e98592", - "e98591", - "e98590", - "e99488", - "e98589", - "e98588", - "e98587", - "e98586", - "e98585" - ] - } - ] - } -} diff --git a/specifications/iit-bombay/electronic-design-using-dsp,fpga,cpld-and-micro-controllers/dump_json_to_lds.py b/specifications/iit-bombay/electronic-design-using-dsp,fpga,cpld-and-micro-controllers/dump_json_to_lds.py deleted file mode 100644 index 78c74fa..0000000 --- a/specifications/iit-bombay/electronic-design-using-dsp,fpga,cpld-and-micro-controllers/dump_json_to_lds.py +++ /dev/null @@ -1,44 +0,0 @@ - -import os -import os.path -import json -import requests -import glob - -URL= 'http://localhost:5000' -json_path_list = [] - -def post_lab_spec(file_path): - - with open(file_path) as json_file: - print file_path - data = json.load(json_file) - if 'lab' in data.keys(): - end_point = "/labs" - if 'experiment' in data.keys(): - end_point = "/experiments" - - data['key'] = 'defaultkey' - APP_URL = URL + end_point - headers = {'Content-Type': 'application/json'} - try: - response = requests.post(APP_URL, data = json.dumps(data), - headers=headers) - if response.status_code == 200: - print "Added json data : " + file_path - else: - print "Errore in adding json file " + file_path + " due to " + response.text - except Exception as e: - print str(e) -try: - exp_file_list = glob.glob(os.getcwd() + "/e9*.json") - lab_file_list = glob.glob(os.getcwd() + "/[!e9]*.json") - - for filename in exp_file_list: - json_path_list.append(filename) -except Exception as e: - print str(e) - -for file_path in json_path_list: - post_lab_spec(file_path) -post_lab_spec(lab_file_list[0]) diff --git a/specifications/iit-bombay/electronic-design-using-dsp,fpga,cpld-and-micro-controllers/e99042.json b/specifications/iit-bombay/electronic-design-using-dsp,fpga,cpld-and-micro-controllers/e99042.json deleted file mode 100644 index 0be8225..0000000 --- a/specifications/iit-bombay/electronic-design-using-dsp,fpga,cpld-and-micro-controllers/e99042.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "experiment": { - "id": "e99042", - "name": "Gearbox Fault Detection", - "discipline_id": "ece", - "institute_id": "iitb", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlabs.iitkgp.ernet.in/mssp/exp7/index.html" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Gearbox Fault Detection", - "assets": [ - { - "asset_type": "sources", - "path": "https://github.com/Virtual-Labs/eprayog-electronics-iitb" - } - ], - "sections" : [ - "Introduction", - "Theory", - "Objective", - "Procedure", - "Simulator", - "Reference" - ] - } -} diff --git a/specifications/iit-bombay/electronic-design-using-dsp,fpga,cpld-and-micro-controllers/electronic-design-using-dsp,fpga,cpld-and-micro-controllers.json b/specifications/iit-bombay/electronic-design-using-dsp,fpga,cpld-and-micro-controllers/electronic-design-using-dsp,fpga,cpld-and-micro-controllers.json deleted file mode 100644 index 97babf9..0000000 --- a/specifications/iit-bombay/electronic-design-using-dsp,fpga,cpld-and-micro-controllers/electronic-design-using-dsp,fpga,cpld-and-micro-controllers.json +++ /dev/null @@ -1,39 +0,0 @@ -{ - "lab": { - "id": "ece04", - "name": "electronic design using dsp,fpga,cpld and micro controllers", - "discipline_id": "ece", - "institute_id": "iitb", - "developers": [ - { - "name": "Prof. SA Soman", - "email": "nan" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://59.181.142.81/" - } - ], - "integration_level": 4, - "overview": "This lab deals with electronic design using dsp,fpga,cpld and micro controllers", - "assets": [ - { - "asset_type": "sources", - "path": "https://github.com/Virtual-Labs/eprayog-electronics-iitb" - } - ], - "sections": [ - { - "name": "Introduction" - }, - { - "experiments" : [ - "" - ] - } - ] - } -} diff --git a/specifications/iit-bombay/modern-digital-design-lab/dump_json_to_lds.py b/specifications/iit-bombay/modern-digital-design-lab/dump_json_to_lds.py deleted file mode 100644 index 78c74fa..0000000 --- a/specifications/iit-bombay/modern-digital-design-lab/dump_json_to_lds.py +++ /dev/null @@ -1,44 +0,0 @@ - -import os -import os.path -import json -import requests -import glob - -URL= 'http://localhost:5000' -json_path_list = [] - -def post_lab_spec(file_path): - - with open(file_path) as json_file: - print file_path - data = json.load(json_file) - if 'lab' in data.keys(): - end_point = "/labs" - if 'experiment' in data.keys(): - end_point = "/experiments" - - data['key'] = 'defaultkey' - APP_URL = URL + end_point - headers = {'Content-Type': 'application/json'} - try: - response = requests.post(APP_URL, data = json.dumps(data), - headers=headers) - if response.status_code == 200: - print "Added json data : " + file_path - else: - print "Errore in adding json file " + file_path + " due to " + response.text - except Exception as e: - print str(e) -try: - exp_file_list = glob.glob(os.getcwd() + "/e9*.json") - lab_file_list = glob.glob(os.getcwd() + "/[!e9]*.json") - - for filename in exp_file_list: - json_path_list.append(filename) -except Exception as e: - print str(e) - -for file_path in json_path_list: - post_lab_spec(file_path) -post_lab_spec(lab_file_list[0]) diff --git a/specifications/iit-bombay/modern-digital-design-lab/e99008.json b/specifications/iit-bombay/modern-digital-design-lab/e99008.json deleted file mode 100644 index 96b924e..0000000 --- a/specifications/iit-bombay/modern-digital-design-lab/e99008.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "experiment": { - "id": "e99008", - "name": "To Design, implement and Simulate the Finite State Machine by Moore method.", - "discipline_id": "ece", - "institute_id": "iitb", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlabs.iitb.ac.in/eemddl/sequence_detector/index.html" - } - ], - "integration_level": 4, - "overview": "This experiments deals with To Design, implement and Simulate the Finite State Machine by Moore method.", - "assets": [ - { - "asset_type": "sources", - "path": "https://github.com/pushpdeep/modern_digital_design-Lab-IITB" - } - ], - "sections" : [ - "AIM", - "THEORY", - "PRELAB QUIZ", - "Verilog", - "Simulator", - "Manual", - "POST LAB", - "Tutorial" - ] - } -} diff --git a/specifications/iit-bombay/modern-digital-design-lab/e99009.json b/specifications/iit-bombay/modern-digital-design-lab/e99009.json deleted file mode 100644 index 5eaed15..0000000 --- a/specifications/iit-bombay/modern-digital-design-lab/e99009.json +++ /dev/null @@ -1,39 +0,0 @@ -{ - "experiment": { - "id": "e99009", - "name": "To Design, implement and Simulate the 4 bit comparator.", - "discipline_id": "ece", - "institute_id": "iitb", - "developers": [ - { - "name": "Prof. Sachin Patkar", - "email": "patkar@ee.iitb.ac.in" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlabs.iitb.ac.in/eemddl/Comparator/index.html" - } - ], - "integration_level": 4, - "overview": "This experiments deals with To Design, implement and Simulate the 4 bit comparator.", - "assets": [ - { - "asset_type": "sources", - "path": "https://github.com/pushpdeep/modern_digital_design-Lab-IITB" - } - ], - "sections" : [ - "AIM", - "THEORY", - "PRELAB QUIZ", - "Verilog", - "Simulator", - "Manual", - "POST LAB", - "Tutorial" - ] - } -} diff --git a/specifications/iit-bombay/modern-digital-design-lab/e99010.json b/specifications/iit-bombay/modern-digital-design-lab/e99010.json deleted file mode 100644 index a9af53a..0000000 --- a/specifications/iit-bombay/modern-digital-design-lab/e99010.json +++ /dev/null @@ -1,39 +0,0 @@ -{ - "experiment": { - "id": "e99010", - "name": "To Design, implement and Simulate the Binary to BCD code Converter by Showing BCD No. on 7segment Display.", - "discipline_id": "ece", - "institute_id": "iitb", - "developers": [ - { - "name": "Prof. Sachin Patkar", - "email": "patkar@ee.iitb.ac.in" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlabs.iitb.ac.in/eemddl/binary2bcd/index.html" - } - ], - "integration_level": 4, - "overview": "This experiments deals with To Design, implement and Simulate the Binary to BCD code Converter by Showing BCD No. on 7segment Display.", - "assets": [ - { - "asset_type": "sources", - "path": "https://github.com/pushpdeep/modern_digital_design-Lab-IITB" - } - ], - "sections" : [ - "AIM", - "THEORY", - "PRELAB QUIZ", - "Verilog", - "Simulator", - "Manual", - "POST LAB", - "Tutorial" - ] - } -} diff --git a/specifications/iit-bombay/modern-digital-design-lab/e99011.json b/specifications/iit-bombay/modern-digital-design-lab/e99011.json deleted file mode 100644 index 1e8e498..0000000 --- a/specifications/iit-bombay/modern-digital-design-lab/e99011.json +++ /dev/null @@ -1,39 +0,0 @@ -{ - "experiment": { - "id": "e99011", - "name": "To Design, implement and Simulate the Ring Counter.", - "discipline_id": "ece", - "institute_id": "iitb", - "developers": [ - { - "name": "Prof. Sachin Patkar", - "email": "patkar@ee.iitb.ac.in" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlabs.iitb.ac.in/eemddl/ringcounter/index.html" - } - ], - "integration_level": 4, - "overview": "This experiments deals with To Design, implement and Simulate the Ring Counter.", - "assets": [ - { - "asset_type": "sources", - "path": "https://github.com/pushpdeep/modern_digital_design-Lab-IITB" - } - ], - "sections" : [ - "AIM", - "THEORY", - "PRELAB QUIZ", - "Verilog", - "Simulator", - "Manual", - "POST LAB", - "Tutorial" - ] - } -} diff --git a/specifications/iit-bombay/modern-digital-design-lab/e99012.json b/specifications/iit-bombay/modern-digital-design-lab/e99012.json deleted file mode 100644 index f244d9c..0000000 --- a/specifications/iit-bombay/modern-digital-design-lab/e99012.json +++ /dev/null @@ -1,39 +0,0 @@ -{ - "experiment": { - "id": "e99012", - "name": "To Design, implement and Simulate the Look ahead carry.", - "discipline_id": "ece", - "institute_id": "iitb", - "developers": [ - { - "name": "Prof. Sachin Patkar", - "email": "patkar@ee.iitb.ac.in" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlabs.iitb.ac.in/eemddl/lookaheadcarryadder/index.html" - } - ], - "integration_level": 4, - "overview": "This experiments deals with To Design, implement and Simulate the Look ahead carry.", - "assets": [ - { - "asset_type": "sources", - "path": "https://github.com/pushpdeep/modern_digital_design-Lab-IITB" - } - ], - "sections" : [ - "AIM", - "THEORY", - "PRELAB QUIZ", - "Verilog", - "Simulator", - "Manual", - "POST LAB", - "Tutorial" - ] - } -} diff --git a/specifications/iit-bombay/modern-digital-design-lab/e99013.json b/specifications/iit-bombay/modern-digital-design-lab/e99013.json deleted file mode 100644 index 7e3fa88..0000000 --- a/specifications/iit-bombay/modern-digital-design-lab/e99013.json +++ /dev/null @@ -1,39 +0,0 @@ -{ - "experiment": { - "id": "e99013", - "name": "To Design, implement and Simulate the Flip-Flop.", - "discipline_id": "ece", - "institute_id": "iitb", - "developers": [ - { - "name": "Prof. Sachin Patkar", - "email": "patkar@ee.iitb.ac.in" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlabs.iitb.ac.in/eemddl/flipflop/index.html" - } - ], - "integration_level": 4, - "overview": "This experiments deals with To Design, implement and Simulate the Flip-Flop.", - "assets": [ - { - "asset_type": "sources", - "path": "https://github.com/pushpdeep/modern_digital_design-Lab-IITB" - } - ], - "sections" : [ - "AIM", - "THEORY", - "PRELAB QUIZ", - "Verilog", - "Simulator", - "Manual", - "POST LAB", - "Tutorial" - ] - } -} diff --git a/specifications/iit-bombay/modern-digital-design-lab/e99014.json b/specifications/iit-bombay/modern-digital-design-lab/e99014.json deleted file mode 100644 index d8b4f02..0000000 --- a/specifications/iit-bombay/modern-digital-design-lab/e99014.json +++ /dev/null @@ -1,39 +0,0 @@ -{ - "experiment": { - "id": "e99014", - "name": "To Design, implement and Simulate the 16 : 1 Multiplexer using 4 : 1 Multiplexer.", - "discipline_id": "ece", - "institute_id": "iitb", - "developers": [ - { - "name": "Prof. Sachin Patkar", - "email": "patkar@ee.iitb.ac.in" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlabs.iitb.ac.in/eemddl/multiplexer/index.html" - } - ], - "integration_level": 4, - "overview": "This experiments deals with To Design, implement and Simulate the 16 : 1 Multiplexer using 4 : 1 Multiplexer.", - "assets": [ - { - "asset_type": "sources", - "path": "https://github.com/pushpdeep/modern_digital_design-Lab-IITB" - } - ], - "sections" : [ - "AIM", - "THEORY", - "PRELAB QUIZ", - "Verilog", - "Simulator", - "Manual", - "POST LAB", - "Tutorial" - ] - } -} diff --git a/specifications/iit-bombay/modern-digital-design-lab/e99015.json b/specifications/iit-bombay/modern-digital-design-lab/e99015.json deleted file mode 100644 index 61a19ee..0000000 --- a/specifications/iit-bombay/modern-digital-design-lab/e99015.json +++ /dev/null @@ -1,39 +0,0 @@ -{ - "experiment": { - "id": "e99015", - "name": "To Design, implement and Simulate the 3 : 8 Decoder.", - "discipline_id": "ece", - "institute_id": "iitb", - "developers": [ - { - "name": "Prof. Sachin Patkar", - "email": "patkar@ee.iitb.ac.in" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlabs.iitb.ac.in/eemddl/decoder/index.html" - } - ], - "integration_level": 4, - "overview": "This experiments deals with To Design, implement and Simulate the 3 : 8 Decoder.", - "assets": [ - { - "asset_type": "sources", - "path": "https://github.com/pushpdeep/modern_digital_design-Lab-IITB" - } - ], - "sections" : [ - "AIM", - "THEORY", - "PRELAB QUIZ", - "Verilog", - "Simulator", - "Manual", - "POST LAB", - "Tutoria" - ] - } -} diff --git a/specifications/iit-bombay/modern-digital-design-lab/e99016.json b/specifications/iit-bombay/modern-digital-design-lab/e99016.json deleted file mode 100644 index 42c8d58..0000000 --- a/specifications/iit-bombay/modern-digital-design-lab/e99016.json +++ /dev/null @@ -1,39 +0,0 @@ -{ - "experiment": { - "id": "e99016", - "name": "To Design, implement and Simulate the Full adder using two half adder.", - "discipline_id": "ece", - "institute_id": "iitb", - "developers": [ - { - "name": "Prof. Sachin Patkar", - "email": "patkar@ee.iitb.ac.in" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlabs.iitb.ac.in/eemddl/adder/index.html" - } - ], - "integration_level": 4, - "overview": "This experiments deals with To Design, implement and Simulate the Full adder using two half adder.", - "assets": [ - { - "asset_type": "sources", - "path": "https://github.com/pushpdeep/modern_digital_design-Lab-IITB" - } - ], - "sections" : [ - "AIM", - "THEORY", - "PRELAB QUIZ", - "Verilog", - "Simulator", - "Manual", - "POST LAB", - "Tutorial" - ] - } -} diff --git a/specifications/iit-bombay/modern-digital-design-lab/modern-digital-design-lab.json b/specifications/iit-bombay/modern-digital-design-lab/modern-digital-design-lab.json deleted file mode 100644 index 12e4359..0000000 --- a/specifications/iit-bombay/modern-digital-design-lab/modern-digital-design-lab.json +++ /dev/null @@ -1,47 +0,0 @@ -{ - "lab": { - "id": "-", - "name": "modern digital design lab", - "discipline_id": "ece", - "institute_id": "iitb", - "developers": [ - { - "name": "Prof. Sachin Patkar", - "email": "patkar@ee.iitb.ac.in" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlabs.iitb.ac.in/eemddl/" - } - ], - "integration_level": 4, - "overview": "This lab deals with modern digital design lab", - "assets": [ - { - "asset_type": "sources", - "path": "https://github.com/pushpdeep/modern_digital_design-Lab-IITB" - } - ], - "sections": [ - { - "name": "Introduction" - }, - { - "experiments" : [ - "e99016", - "e99015", - "e99014", - "e99013", - "e99012", - "e99011", - "e99010", - "e99009", - "e99008" - ] - } - ] - } -} diff --git a/specifications/iit-bombay/satellite-image-processing-lab/dump_json_to_lds.py b/specifications/iit-bombay/satellite-image-processing-lab/dump_json_to_lds.py deleted file mode 100644 index 78c74fa..0000000 --- a/specifications/iit-bombay/satellite-image-processing-lab/dump_json_to_lds.py +++ /dev/null @@ -1,44 +0,0 @@ - -import os -import os.path -import json -import requests -import glob - -URL= 'http://localhost:5000' -json_path_list = [] - -def post_lab_spec(file_path): - - with open(file_path) as json_file: - print file_path - data = json.load(json_file) - if 'lab' in data.keys(): - end_point = "/labs" - if 'experiment' in data.keys(): - end_point = "/experiments" - - data['key'] = 'defaultkey' - APP_URL = URL + end_point - headers = {'Content-Type': 'application/json'} - try: - response = requests.post(APP_URL, data = json.dumps(data), - headers=headers) - if response.status_code == 200: - print "Added json data : " + file_path - else: - print "Errore in adding json file " + file_path + " due to " + response.text - except Exception as e: - print str(e) -try: - exp_file_list = glob.glob(os.getcwd() + "/e9*.json") - lab_file_list = glob.glob(os.getcwd() + "/[!e9]*.json") - - for filename in exp_file_list: - json_path_list.append(filename) -except Exception as e: - print str(e) - -for file_path in json_path_list: - post_lab_spec(file_path) -post_lab_spec(lab_file_list[0]) diff --git a/specifications/iit-bombay/satellite-image-processing-lab/e98944.json b/specifications/iit-bombay/satellite-image-processing-lab/e98944.json deleted file mode 100644 index 973269b..0000000 --- a/specifications/iit-bombay/satellite-image-processing-lab/e98944.json +++ /dev/null @@ -1,37 +0,0 @@ -{ - "experiment": { - "id": "e98944", - "name": "Study of Infinite Impulse Response (IIR) filter.", - "discipline_id": "civil", - "institute_id": "iitb", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "cloud", - "hosted_url": "http://vlabs.iitkgp.ernet.in/dsp/exp10/index.html" - }, - { - "hosting_status": "hosted", - "hosted_on": "openedx", - "hosted_url": "http://vlabs.iitkgp.ernet.in/dsp/exp10/index.html" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Study of Infinite Impulse Response (IIR) filter.", - "assets": [ - { - "asset_type": "sources", - "path": "https://github.com/Virtual-Labs/sattelite-image-processing-lab-iitb" - } - ], - "sections" : [ - "Introduction", - "Theory", - "procedure", - "simulator", - "Quizzes", - "Reference" - ] - } -} diff --git a/specifications/iit-bombay/satellite-image-processing-lab/satellite-image-processing-lab.json b/specifications/iit-bombay/satellite-image-processing-lab/satellite-image-processing-lab.json deleted file mode 100644 index 56f4970..0000000 --- a/specifications/iit-bombay/satellite-image-processing-lab/satellite-image-processing-lab.json +++ /dev/null @@ -1,44 +0,0 @@ -{ - "lab": { - "id": "civil11", - "name": "satellite image processing lab", - "discipline_id": "civil", - "institute_id": "iitb", - "developers": [ - { - "name": "Prof. B.K. Mohan", - "email": "bkmohan@csre.iitb.ac.in" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "cloud", - "hosted_url": "http://10.142.141.68:8080/siplabs/" - }, - { - "hosting_status": "hosted", - "hosted_on": "openedx", - "hosted_url": "http://10.142.141.68:8080/siplabs/" - } - ], - "integration_level": 4, - "overview": "This lab deals with satellite image processing lab", - "assets": [ - { - "asset_type": "sources", - "path": "https://github.com/Virtual-Labs/sattelite-image-processing-lab-iitb" - } - ], - "sections": [ - { - "name": "Introduction" - }, - { - "experiments" : [ - "e98944" - ] - } - ] - } -} diff --git a/specifications/iit-bombay/urban-transportation-systems-planning-lab/dump_json_to_lds.py b/specifications/iit-bombay/urban-transportation-systems-planning-lab/dump_json_to_lds.py deleted file mode 100644 index 78c74fa..0000000 --- a/specifications/iit-bombay/urban-transportation-systems-planning-lab/dump_json_to_lds.py +++ /dev/null @@ -1,44 +0,0 @@ - -import os -import os.path -import json -import requests -import glob - -URL= 'http://localhost:5000' -json_path_list = [] - -def post_lab_spec(file_path): - - with open(file_path) as json_file: - print file_path - data = json.load(json_file) - if 'lab' in data.keys(): - end_point = "/labs" - if 'experiment' in data.keys(): - end_point = "/experiments" - - data['key'] = 'defaultkey' - APP_URL = URL + end_point - headers = {'Content-Type': 'application/json'} - try: - response = requests.post(APP_URL, data = json.dumps(data), - headers=headers) - if response.status_code == 200: - print "Added json data : " + file_path - else: - print "Errore in adding json file " + file_path + " due to " + response.text - except Exception as e: - print str(e) -try: - exp_file_list = glob.glob(os.getcwd() + "/e9*.json") - lab_file_list = glob.glob(os.getcwd() + "/[!e9]*.json") - - for filename in exp_file_list: - json_path_list.append(filename) -except Exception as e: - print str(e) - -for file_path in json_path_list: - post_lab_spec(file_path) -post_lab_spec(lab_file_list[0]) diff --git a/specifications/iit-bombay/urban-transportation-systems-planning-lab/e98932.json b/specifications/iit-bombay/urban-transportation-systems-planning-lab/e98932.json deleted file mode 100644 index c4bb618..0000000 --- a/specifications/iit-bombay/urban-transportation-systems-planning-lab/e98932.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "experiment": { - "id": "e98932", - "name": "User Equilibrium Assignment", - "discipline_id": "civil", - "institute_id": "iitb", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlabs.iitb.ac.in/utsp/exp11/index.html" - } - ], - "integration_level": 4, - "overview": "This experiments deals with User Equilibrium Assignment", - "assets": [], - "sections" : [ - "Aim", - "Pre Test", - "Theory", - "Experiment", - "Procedure", - "Interpretations", - "Reference", - "FAQs" - ] - } -} diff --git a/specifications/iit-bombay/urban-transportation-systems-planning-lab/e98933.json b/specifications/iit-bombay/urban-transportation-systems-planning-lab/e98933.json deleted file mode 100644 index ab27e39..0000000 --- a/specifications/iit-bombay/urban-transportation-systems-planning-lab/e98933.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "experiment": { - "id": "e98933", - "name": "System Optimal Assignment", - "discipline_id": "civil", - "institute_id": "iitb", - "developers": [ - { - "name": "Prof. Gopal Patil", - "email": "gpatil@civil.iitb.ac.in" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlabs.iitb.ac.in/utsp/exp12/index.html" - } - ], - "integration_level": 4, - "overview": "This experiments deals with System Optimal Assignment", - "assets": [], - "sections" : [ - "Aim", - "Theory", - "Procedure", - "Experiment", - "Self Evaluation", - "FAQs" - ] - } -} diff --git a/specifications/iit-bombay/urban-transportation-systems-planning-lab/e98934.json b/specifications/iit-bombay/urban-transportation-systems-planning-lab/e98934.json deleted file mode 100644 index 44da1dd..0000000 --- a/specifications/iit-bombay/urban-transportation-systems-planning-lab/e98934.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "experiment": { - "id": "e98934", - "name": "All or Nothing (AON) Assignment", - "discipline_id": "civil", - "institute_id": "iitb", - "developers": [ - { - "name": "Prof. Gopal Patil", - "email": "gpatil@civil.iitb.ac.in" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlabs.iitb.ac.in/utsp/exp10/index.html" - } - ], - "integration_level": 4, - "overview": "This experiments deals with All or Nothing (AON) Assignment", - "assets": [], - "sections" : [ - "Aim", - "Theory", - "Procedure", - "Experiment", - "Pre Test", - "FAQs" - ] - } -} diff --git a/specifications/iit-bombay/urban-transportation-systems-planning-lab/e98935.json b/specifications/iit-bombay/urban-transportation-systems-planning-lab/e98935.json deleted file mode 100644 index a6a181f..0000000 --- a/specifications/iit-bombay/urban-transportation-systems-planning-lab/e98935.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "experiment": { - "id": "e98935", - "name": "Mode Split", - "discipline_id": "civil", - "institute_id": "iitb", - "developers": [ - { - "name": "Prof. Gopal Patil", - "email": "gpatil@civil.iitb.ac.in" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlabs.iitb.ac.in/utsp/exp9/index.html" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Mode Split", - "assets": [], - "sections" : [ - "Aim", - "Theory", - "Experiment", - "Procedure", - "Self Evaluation", - "FAQ's" - ] - } -} diff --git a/specifications/iit-bombay/urban-transportation-systems-planning-lab/e98936.json b/specifications/iit-bombay/urban-transportation-systems-planning-lab/e98936.json deleted file mode 100644 index 3c5771b..0000000 --- a/specifications/iit-bombay/urban-transportation-systems-planning-lab/e98936.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "experiment": { - "id": "e98936", - "name": "Calibration of Doubly Constrained Gravity Model", - "discipline_id": "civil", - "institute_id": "iitb", - "developers": [ - { - "name": "Prof. Gopal Patil", - "email": "gpatil@civil.iitb.ac.in" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlabs.iitb.ac.in/utsp/exp8/index.html" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Calibration of Doubly Constrained Gravity Model", - "assets": [], - "sections" : [ - "Aim", - "Theory", - "Experiment", - "Procedure", - "Self Evaluation", - "FAQ's" - ] - } -} diff --git a/specifications/iit-bombay/urban-transportation-systems-planning-lab/e98937.json b/specifications/iit-bombay/urban-transportation-systems-planning-lab/e98937.json deleted file mode 100644 index 50d18b5..0000000 --- a/specifications/iit-bombay/urban-transportation-systems-planning-lab/e98937.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "experiment": { - "id": "e98937", - "name": "Doubly constrained Gravity Model", - "discipline_id": "civil", - "institute_id": "iitb", - "developers": [ - { - "name": "Prof. Gopal Patil", - "email": "gpatil@civil.iitb.ac.in" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlabs.iitb.ac.in/utsp/exp6/index.html" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Doubly constrained Gravity Model", - "assets": [], - "sections" : [ - "Aim", - "Theory", - "Procedure", - "Experiment", - "Faqs", - "Self Evaluation" - ] - } -} diff --git a/specifications/iit-bombay/urban-transportation-systems-planning-lab/e98938.json b/specifications/iit-bombay/urban-transportation-systems-planning-lab/e98938.json deleted file mode 100644 index e767692..0000000 --- a/specifications/iit-bombay/urban-transportation-systems-planning-lab/e98938.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "experiment": { - "id": "e98938", - "name": "Singly constrained Gravity Model", - "discipline_id": "civil", - "institute_id": "iitb", - "developers": [ - { - "name": "Prof. Gopal Patil", - "email": "gpatil@civil.iitb.ac.in" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlabs.iitb.ac.in/utsp/exp5/index.html" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Singly constrained Gravity Model", - "assets": [], - "sections" : [ - "Aim", - "Theory", - "Procedure", - "Experiment", - "FAQS", - "Self Evaluation" - ] - } -} diff --git a/specifications/iit-bombay/urban-transportation-systems-planning-lab/e98939.json b/specifications/iit-bombay/urban-transportation-systems-planning-lab/e98939.json deleted file mode 100644 index e8049ad..0000000 --- a/specifications/iit-bombay/urban-transportation-systems-planning-lab/e98939.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "experiment": { - "id": "e98939", - "name": "Growth Factor Distribution Modelis", - "discipline_id": "civil", - "institute_id": "iitb", - "developers": [ - { - "name": "Prof. Gopal Patil", - "email": "gpatil@civil.iitb.ac.in" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlabs.iitb.ac.in/utsp/exp4/index.html" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Growth Factor Distribution Modelis", - "assets": [], - "sections" : [ - "Aim", - "Theory", - "Experiment", - "Procedure", - "Self Evaluation", - "FAQ's" - ] - } -} diff --git a/specifications/iit-bombay/urban-transportation-systems-planning-lab/e98940.json b/specifications/iit-bombay/urban-transportation-systems-planning-lab/e98940.json deleted file mode 100644 index f4ce26b..0000000 --- a/specifications/iit-bombay/urban-transportation-systems-planning-lab/e98940.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "experiment": { - "id": "e98940", - "name": "Category Analysis", - "discipline_id": "civil", - "institute_id": "iitb", - "developers": [ - { - "name": "Prof. Gopal Patil", - "email": "gpatil@civil.iitb.ac.in" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlabs.iitb.ac.in/utsp/exp3/index.html" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Category Analysis", - "assets": [], - "sections" : [ - "Aim", - "Theory", - "Experiment", - "Procedure", - "Self Evaluation", - "FAQ's" - ] - } -} diff --git a/specifications/iit-bombay/urban-transportation-systems-planning-lab/e98941.json b/specifications/iit-bombay/urban-transportation-systems-planning-lab/e98941.json deleted file mode 100644 index 69127f1..0000000 --- a/specifications/iit-bombay/urban-transportation-systems-planning-lab/e98941.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "experiment": { - "id": "e98941", - "name": "Regression Analysis", - "discipline_id": "civil", - "institute_id": "iitb", - "developers": [ - { - "name": "Prof. Gopal Patil", - "email": "gpatil@civil.iitb.ac.in" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlabs.iitb.ac.in/utsp/exp2/index.html" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Regression Analysis", - "assets": [], - "sections" : [ - "Aim", - "Theory", - "Procedure", - "Experiment", - "Self Evaluation", - "FAQs" - ] - } -} diff --git a/specifications/iit-bombay/urban-transportation-systems-planning-lab/e98942.json b/specifications/iit-bombay/urban-transportation-systems-planning-lab/e98942.json deleted file mode 100644 index 7e4c9bd..0000000 --- a/specifications/iit-bombay/urban-transportation-systems-planning-lab/e98942.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "experiment": { - "id": "e98942", - "name": "Calibration of Singly Constrained Gravity Model", - "discipline_id": "civil", - "institute_id": "iitb", - "developers": [ - { - "name": "Prof. Gopal Patil", - "email": "gpatil@civil.iitb.ac.in" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlabs.iitb.ac.in/utsp/exp7/index.html" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Calibration of Singly Constrained Gravity Model", - "assets": [], - "sections" : [ - "Aim", - "Theory", - "Experiment", - "Procedure", - "Self Evaluation", - "Faqs" - ] - } -} diff --git a/specifications/iit-bombay/urban-transportation-systems-planning-lab/e98943.json b/specifications/iit-bombay/urban-transportation-systems-planning-lab/e98943.json deleted file mode 100644 index 73e5c78..0000000 --- a/specifications/iit-bombay/urban-transportation-systems-planning-lab/e98943.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "experiment": { - "id": "e98943", - "name": "Volume, Speed and Delay Study at Intersection", - "discipline_id": "civil", - "institute_id": "iitb", - "developers": [ - { - "name": "Prof. Gopal Patil", - "email": "gpatil@civil.iitb.ac.in" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlabs.iitb.ac.in/utsp/exp1/index.html" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Volume, Speed and Delay Study at Intersection", - "assets": [], - "sections" : [ - "Aim", - "Theory", - "Procedure", - "Experiment", - "Self Evaluation", - "FAQs" - ] - } -} diff --git a/specifications/iit-bombay/urban-transportation-systems-planning-lab/urban-transportation-systems-planning-lab.json b/specifications/iit-bombay/urban-transportation-systems-planning-lab/urban-transportation-systems-planning-lab.json deleted file mode 100644 index b816d36..0000000 --- a/specifications/iit-bombay/urban-transportation-systems-planning-lab/urban-transportation-systems-planning-lab.json +++ /dev/null @@ -1,45 +0,0 @@ -{ - "lab": { - "id": "civil13", - "name": "urban transportation systems planning lab", - "discipline_id": "civil", - "institute_id": "iitb", - "developers": [ - { - "name": "Prof. Gopal Patil", - "email": "gpatil@civil.iitb.ac.in" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlabs.iitb.ac.in/utsp/" - } - ], - "integration_level": 4, - "overview": "This lab deals with urban transportation systems planning lab", - "assets": [], - "sections": [ - { - "name": "Introduction" - }, - { - "experiments" : [ - "e98943", - "e98942", - "e98941", - "e98940", - "e98939", - "e98938", - "e98937", - "e98936", - "e98935", - "e98934", - "e98933", - "e98932" - ] - } - ] - } -} diff --git a/specifications/iit-delhi/bioreactor-modeling-&-simulation-lab/bioreactor-modeling-&-simulation-lab.json b/specifications/iit-delhi/bioreactor-modeling-&-simulation-lab/bioreactor-modeling-&-simulation-lab.json deleted file mode 100644 index 42e8293..0000000 --- a/specifications/iit-delhi/bioreactor-modeling-&-simulation-lab/bioreactor-modeling-&-simulation-lab.json +++ /dev/null @@ -1,62 +0,0 @@ -{ - "lab": { - "id": "bio15", - "name": "bioreactor modeling & simulation lab", - "discipline_id": "biotech", - "institute_id": "iitd", - "developers": [ - { - "name": "A. K. Srivastava", - "email": "ashokks@dbeb.iitd.ac.in" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://iitd.vlab.co.in/?sub=63" - } - ], - "integration_level": 4, - "overview": "This lab deals with bioreactor modeling & simulation lab", - "assets": [ - { - "asset_type": "sources", - "path": "https://github.com/Virtual-Labs/bioreactor-modeling-and-simulation-laboratory-iitd" - } - ], - "sections": [ - { - "name": "Introduction" - }, - { - "experiments" : [ - "e98919", - "e98918", - "e98917", - "e98916", - "e98915", - "e98914", - "e98913", - "e98912", - "e98911", - "e98910", - "e98909", - "e98908", - "e98907", - "e98906", - "e98905", - "e98904", - "e98903", - "e98902", - "e98901", - "e98900", - "e98899", - "e98898", - "e98897", - "e98893" - ] - } - ] - } -} diff --git a/specifications/iit-delhi/bioreactor-modeling-&-simulation-lab/dump_json_to_lds.py b/specifications/iit-delhi/bioreactor-modeling-&-simulation-lab/dump_json_to_lds.py deleted file mode 100644 index 78c74fa..0000000 --- a/specifications/iit-delhi/bioreactor-modeling-&-simulation-lab/dump_json_to_lds.py +++ /dev/null @@ -1,44 +0,0 @@ - -import os -import os.path -import json -import requests -import glob - -URL= 'http://localhost:5000' -json_path_list = [] - -def post_lab_spec(file_path): - - with open(file_path) as json_file: - print file_path - data = json.load(json_file) - if 'lab' in data.keys(): - end_point = "/labs" - if 'experiment' in data.keys(): - end_point = "/experiments" - - data['key'] = 'defaultkey' - APP_URL = URL + end_point - headers = {'Content-Type': 'application/json'} - try: - response = requests.post(APP_URL, data = json.dumps(data), - headers=headers) - if response.status_code == 200: - print "Added json data : " + file_path - else: - print "Errore in adding json file " + file_path + " due to " + response.text - except Exception as e: - print str(e) -try: - exp_file_list = glob.glob(os.getcwd() + "/e9*.json") - lab_file_list = glob.glob(os.getcwd() + "/[!e9]*.json") - - for filename in exp_file_list: - json_path_list.append(filename) -except Exception as e: - print str(e) - -for file_path in json_path_list: - post_lab_spec(file_path) -post_lab_spec(lab_file_list[0]) diff --git a/specifications/iit-delhi/bioreactor-modeling-&-simulation-lab/e98893.json b/specifications/iit-delhi/bioreactor-modeling-&-simulation-lab/e98893.json deleted file mode 100644 index a5cd934..0000000 --- a/specifications/iit-delhi/bioreactor-modeling-&-simulation-lab/e98893.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "experiment": { - "id": "e98893", - "name": "15 Liter Bio-reactor Cultivation", - "discipline_id": "biotech", - "institute_id": "iitd", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://iitd.vlab.co.in/?sub=63&brch=177&sim=1644&cnt=2" - } - ], - "integration_level": 4, - "overview": "This experiments deals with 15 Liter Bio-reactor Cultivation", - "assets": [ - { - "asset_type": "sources", - "path": "https://github.com/Virtual-Labs/bioreactor-modeling-and-simulation-laboratory-iitd" - } - ], - "sections" : [ - "Procedure", - "Feedback" - ] - } -} diff --git a/specifications/iit-delhi/bioreactor-modeling-&-simulation-lab/e98897.json b/specifications/iit-delhi/bioreactor-modeling-&-simulation-lab/e98897.json deleted file mode 100644 index 60b5e7a..0000000 --- a/specifications/iit-delhi/bioreactor-modeling-&-simulation-lab/e98897.json +++ /dev/null @@ -1,38 +0,0 @@ -{ - "experiment": { - "id": "e98897", - "name": "Immobilization of whole cells", - "discipline_id": "biotech", - "institute_id": "iitd", - "developers": [ - { - "name": "A. K. Srivastava", - "email": "ashokks@dbeb.iitd.ac.in" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://iitd.vlab.co.in/?sub=63&brch=177&sim=1347&cnt=1" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Immobilization of whole cells", - "assets": [ - { - "asset_type": "sources", - "path": "https://github.com/Virtual-Labs/bioreactor-modeling-and-simulation-laboratory-iitd" - } - ], - "sections" : [ - "Theory", - "Procedure", - "Animation Part1", - "Animation Part2", - "Self Evaluation", - "References", - "Feedback" - ] - } -} diff --git a/specifications/iit-delhi/bioreactor-modeling-&-simulation-lab/e98898.json b/specifications/iit-delhi/bioreactor-modeling-&-simulation-lab/e98898.json deleted file mode 100644 index f080622..0000000 --- a/specifications/iit-delhi/bioreactor-modeling-&-simulation-lab/e98898.json +++ /dev/null @@ -1,39 +0,0 @@ -{ - "experiment": { - "id": "e98898", - "name": "Study of Enzyme Kinetics", - "discipline_id": "biotech", - "institute_id": "iitd", - "developers": [ - { - "name": "A. K. Srivastava", - "email": "ashokks@dbeb.iitd.ac.in" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://iitd.vlab.co.in/?sub=63&brch=177&sim=1634&cnt=1" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Study of Enzyme Kinetics", - "assets": [ - { - "asset_type": "sources", - "path": "https://github.com/Virtual-Labs/bioreactor-modeling-and-simulation-laboratory-iitd" - } - ], - "sections" : [ - "Theory", - "Procedure", - "Animation Substrate", - "Animation pH", - "Animation Temp", - "Self Evaluation", - "Reference", - "Feedback" - ] - } -} diff --git a/specifications/iit-delhi/bioreactor-modeling-&-simulation-lab/e98899.json b/specifications/iit-delhi/bioreactor-modeling-&-simulation-lab/e98899.json deleted file mode 100644 index e12e274..0000000 --- a/specifications/iit-delhi/bioreactor-modeling-&-simulation-lab/e98899.json +++ /dev/null @@ -1,39 +0,0 @@ -{ - "experiment": { - "id": "e98899", - "name": "Animal Cell Fed Batch Cultivation", - "discipline_id": "biotech", - "institute_id": "iitd", - "developers": [ - { - "name": "A. K. Srivastava", - "email": "ashokks@dbeb.iitd.ac.in" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://iitd.vlab.co.in/?sub=63&brch=177&sim=1193&cnt=1" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Animal Cell Fed Batch Cultivation", - "assets": [ - { - "asset_type": "sources", - "path": "https://github.com/Virtual-Labs/bioreactor-modeling-and-simulation-laboratory-iitd" - } - ], - "sections" : [ - "Theory", - "Procedure", - "Simulator", - "Animation1", - "Animation2", - "Self Evaluation", - "References", - "Feedback" - ] - } -} diff --git a/specifications/iit-delhi/bioreactor-modeling-&-simulation-lab/e98900.json b/specifications/iit-delhi/bioreactor-modeling-&-simulation-lab/e98900.json deleted file mode 100644 index eb4be79..0000000 --- a/specifications/iit-delhi/bioreactor-modeling-&-simulation-lab/e98900.json +++ /dev/null @@ -1,39 +0,0 @@ -{ - "experiment": { - "id": "e98900", - "name": "Animal Cell Batch Culture", - "discipline_id": "biotech", - "institute_id": "iitd", - "developers": [ - { - "name": "A. K. Srivastava", - "email": "ashokks@dbeb.iitd.ac.in" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://iitd.vlab.co.in/?sub=63&brch=177&sim=817&cnt=1" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Animal Cell Batch Culture", - "assets": [ - { - "asset_type": "sources", - "path": "https://github.com/Virtual-Labs/bioreactor-modeling-and-simulation-laboratory-iitd" - } - ], - "sections" : [ - "Theory", - "Procedure", - "Simulator", - "Animation1", - "Animation2", - "Self Evaluation", - "References", - "Feedback" - ] - } -} diff --git a/specifications/iit-delhi/bioreactor-modeling-&-simulation-lab/e98901.json b/specifications/iit-delhi/bioreactor-modeling-&-simulation-lab/e98901.json deleted file mode 100644 index 40c1270..0000000 --- a/specifications/iit-delhi/bioreactor-modeling-&-simulation-lab/e98901.json +++ /dev/null @@ -1,43 +0,0 @@ -{ - "experiment": { - "id": "e98901", - "name": "Plant Cell-Batch Cultivation", - "discipline_id": "biotech", - "institute_id": "iitd", - "developers": [ - { - "name": "A. K. Srivastava", - "email": "ashokks@dbeb.iitd.ac.in" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://iitd.vlab.co.in/?sub=63&brch=177&sim=651&cnt=1" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Plant Cell-Batch Cultivation", - "assets": [ - { - "asset_type": "sources", - "path": "https://github.com/Virtual-Labs/bioreactor-modeling-and-simulation-laboratory-iitd" - } - ], - "sections" : [ - "Thoery", - "Procedure", - "Simulator", - "Batch", - "Fed Batch", - "Continuous", - "Cell Retention", - "Hairy Root", - "Self Evaluation", - "Matlab", - "References", - "Feedback" - ] - } -} diff --git a/specifications/iit-delhi/bioreactor-modeling-&-simulation-lab/e98902.json b/specifications/iit-delhi/bioreactor-modeling-&-simulation-lab/e98902.json deleted file mode 100644 index eeb9f35..0000000 --- a/specifications/iit-delhi/bioreactor-modeling-&-simulation-lab/e98902.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "experiment": { - "id": "e98902", - "name": "Plant Cell Laboratory Experiment-Determination of cell viability by TTC", - "discipline_id": "biotech", - "institute_id": "iitd", - "developers": [ - { - "name": "A. K. Srivastava", - "email": "ashokks@dbeb.iitd.ac.in" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://iitd.vlab.co.in/?sub=63&brch=177&sim=1800&cnt=1" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Plant Cell Laboratory Experiment-Determination of cell viability by TTC", - "assets": [ - { - "asset_type": "sources", - "path": "https://github.com/Virtual-Labs/bioreactor-modeling-and-simulation-laboratory-iitd" - } - ], - "sections" : [ - "Theory", - "Animation Part1", - "Animation Part2", - "Reference", - "Feedback" - ] - } -} diff --git a/specifications/iit-delhi/bioreactor-modeling-&-simulation-lab/e98903.json b/specifications/iit-delhi/bioreactor-modeling-&-simulation-lab/e98903.json deleted file mode 100644 index d137591..0000000 --- a/specifications/iit-delhi/bioreactor-modeling-&-simulation-lab/e98903.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "experiment": { - "id": "e98903", - "name": "Plant Cell Laboratory Experiment-Hairy Root Induction", - "discipline_id": "biotech", - "institute_id": "iitd", - "developers": [ - { - "name": "A. K. Srivastava", - "email": "ashokks@dbeb.iitd.ac.in" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://iitd.vlab.co.in/?sub=63&brch=177&sim=1799&cnt=1" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Plant Cell Laboratory Experiment-Hairy Root Induction", - "assets": [ - { - "asset_type": "sources", - "path": "https://github.com/Virtual-Labs/bioreactor-modeling-and-simulation-laboratory-iitd" - } - ], - "sections" : [ - "Theory", - "Animation", - "Reference", - "Feedback" - ] - } -} diff --git a/specifications/iit-delhi/bioreactor-modeling-&-simulation-lab/e98904.json b/specifications/iit-delhi/bioreactor-modeling-&-simulation-lab/e98904.json deleted file mode 100644 index 88a10a1..0000000 --- a/specifications/iit-delhi/bioreactor-modeling-&-simulation-lab/e98904.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "experiment": { - "id": "e98904", - "name": "Plant Cell Laboratory Experiment-Callus Induction", - "discipline_id": "biotech", - "institute_id": "iitd", - "developers": [ - { - "name": "A. K. Srivastava", - "email": "ashokks@dbeb.iitd.ac.in" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://iitd.vlab.co.in/?sub=63&brch=177&sim=1798&cnt=1" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Plant Cell Laboratory Experiment-Callus Induction", - "assets": [ - { - "asset_type": "sources", - "path": "https://github.com/Virtual-Labs/bioreactor-modeling-and-simulation-laboratory-iitd" - } - ], - "sections" : [ - "Theory", - "Procedure", - "Animation", - "Reference", - "Feedback" - ] - } -} diff --git a/specifications/iit-delhi/bioreactor-modeling-&-simulation-lab/e98905.json b/specifications/iit-delhi/bioreactor-modeling-&-simulation-lab/e98905.json deleted file mode 100644 index eecbd08..0000000 --- a/specifications/iit-delhi/bioreactor-modeling-&-simulation-lab/e98905.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "experiment": { - "id": "e98905", - "name": "Plant Cell Laboratory Experiment-Preparation of Plant Tissue Culture Medium", - "discipline_id": "biotech", - "institute_id": "iitd", - "developers": [ - { - "name": "A. K. Srivastava", - "email": "ashokks@dbeb.iitd.ac.in" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://iitd.vlab.co.in/?sub=63&brch=177&sim=1797&cnt=1" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Plant Cell Laboratory Experiment-Preparation of Plant Tissue Culture Medium", - "assets": [ - { - "asset_type": "sources", - "path": "https://github.com/Virtual-Labs/bioreactor-modeling-and-simulation-laboratory-iitd" - } - ], - "sections" : [ - "Theory", - "Procedure", - "Animation", - "Reference", - "Feedback" - ] - } -} diff --git a/specifications/iit-delhi/bioreactor-modeling-&-simulation-lab/e98906.json b/specifications/iit-delhi/bioreactor-modeling-&-simulation-lab/e98906.json deleted file mode 100644 index 1b06e7c..0000000 --- a/specifications/iit-delhi/bioreactor-modeling-&-simulation-lab/e98906.json +++ /dev/null @@ -1,37 +0,0 @@ -{ - "experiment": { - "id": "e98906", - "name": "1, 3 Propanediol Fermentation", - "discipline_id": "biotech", - "institute_id": "iitd", - "developers": [ - { - "name": "A. K. Srivastava", - "email": "ashokks@dbeb.iitd.ac.in" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://iitd.vlab.co.in/?sub=63&brch=177&sim=1633&cnt=1" - } - ], - "integration_level": 4, - "overview": "This experiments deals with 1, 3 Propanediol Fermentation", - "assets": [ - { - "asset_type": "sources", - "path": "https://github.com/Virtual-Labs/bioreactor-modeling-and-simulation-laboratory-iitd" - } - ], - "sections" : [ - "Theory", - "Procedure", - "Animation", - "Simulator", - "Reference", - "Feedback" - ] - } -} diff --git a/specifications/iit-delhi/bioreactor-modeling-&-simulation-lab/e98907.json b/specifications/iit-delhi/bioreactor-modeling-&-simulation-lab/e98907.json deleted file mode 100644 index 89c3e8c..0000000 --- a/specifications/iit-delhi/bioreactor-modeling-&-simulation-lab/e98907.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "experiment": { - "id": "e98907", - "name": "Propionic Acid Fermentation", - "discipline_id": "biotech", - "institute_id": "iitd", - "developers": [ - { - "name": "A. K. Srivastava", - "email": "ashokks@dbeb.iitd.ac.in" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://iitd.vlab.co.in/?sub=63&brch=177&sim=1188&cnt=1" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Propionic Acid Fermentation", - "assets": [ - { - "asset_type": "sources", - "path": "https://github.com/Virtual-Labs/bioreactor-modeling-and-simulation-laboratory-iitd" - } - ], - "sections" : [ - "Theory", - "Procedure", - "Simulator", - "Animation1", - "Animation2", - "Animation3", - "Self Evaluation", - "Matlab", - "References" - ] - } -} diff --git a/specifications/iit-delhi/bioreactor-modeling-&-simulation-lab/e98908.json b/specifications/iit-delhi/bioreactor-modeling-&-simulation-lab/e98908.json deleted file mode 100644 index df29820..0000000 --- a/specifications/iit-delhi/bioreactor-modeling-&-simulation-lab/e98908.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "experiment": { - "id": "e98908", - "name": "Acetone-Butanol-Ethanol Fermentation", - "discipline_id": "biotech", - "institute_id": "iitd", - "developers": [ - { - "name": "A. K. Srivastava", - "email": "ashokks@dbeb.iitd.ac.in" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://iitd.vlab.co.in/?sub=63&brch=177&sim=1192&cnt=1" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Acetone-Butanol-Ethanol Fermentation", - "assets": [ - { - "asset_type": "sources", - "path": "https://github.com/Virtual-Labs/bioreactor-modeling-and-simulation-laboratory-iitd" - } - ], - "sections" : [ - "Theory", - "Procedure", - "Simulator", - "Animation1", - "Animation2", - "Self Evaluation", - "Matlab", - "References", - "Feedback" - ] - } -} diff --git a/specifications/iit-delhi/bioreactor-modeling-&-simulation-lab/e98909.json b/specifications/iit-delhi/bioreactor-modeling-&-simulation-lab/e98909.json deleted file mode 100644 index 4aca63f..0000000 --- a/specifications/iit-delhi/bioreactor-modeling-&-simulation-lab/e98909.json +++ /dev/null @@ -1,39 +0,0 @@ -{ - "experiment": { - "id": "e98909", - "name": "Biopolymer Production by Microbes", - "discipline_id": "biotech", - "institute_id": "iitd", - "developers": [ - { - "name": "A. K. Srivastava", - "email": "ashokks@dbeb.iitd.ac.in" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://iitd.vlab.co.in/?sub=63&brch=177&sim=1323&cnt=1" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Biopolymer Production by Microbes", - "assets": [ - { - "asset_type": "sources", - "path": "https://github.com/Virtual-Labs/bioreactor-modeling-and-simulation-laboratory-iitd" - } - ], - "sections" : [ - "Theory", - "Procedure", - "Simulator", - "Animation", - "Self Evaluation", - "Matlab", - "References", - "Feedback" - ] - } -} diff --git a/specifications/iit-delhi/bioreactor-modeling-&-simulation-lab/e98910.json b/specifications/iit-delhi/bioreactor-modeling-&-simulation-lab/e98910.json deleted file mode 100644 index 8e17362..0000000 --- a/specifications/iit-delhi/bioreactor-modeling-&-simulation-lab/e98910.json +++ /dev/null @@ -1,39 +0,0 @@ -{ - "experiment": { - "id": "e98910", - "name": "Continuous Microbial Cultivation", - "discipline_id": "biotech", - "institute_id": "iitd", - "developers": [ - { - "name": "A. K. Srivastava", - "email": "ashokks@dbeb.iitd.ac.in" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://iitd.vlab.co.in/?sub=63&brch=177&sim=650&cnt=1" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Continuous Microbial Cultivation", - "assets": [ - { - "asset_type": "sources", - "path": "https://github.com/Virtual-Labs/bioreactor-modeling-and-simulation-laboratory-iitd" - } - ], - "sections" : [ - "Theory", - "Procedure", - "Animation", - "Simulator", - "Self Evaluation", - "Matlab", - "References", - "Feedback" - ] - } -} diff --git a/specifications/iit-delhi/bioreactor-modeling-&-simulation-lab/e98911.json b/specifications/iit-delhi/bioreactor-modeling-&-simulation-lab/e98911.json deleted file mode 100644 index 8bfafe8..0000000 --- a/specifications/iit-delhi/bioreactor-modeling-&-simulation-lab/e98911.json +++ /dev/null @@ -1,39 +0,0 @@ -{ - "experiment": { - "id": "e98911", - "name": "Fed-Batch Microbial Cultivation", - "discipline_id": "biotech", - "institute_id": "iitd", - "developers": [ - { - "name": "A. K. Srivastava", - "email": "ashokks@dbeb.iitd.ac.in" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://iitd.vlab.co.in/?sub=63&brch=177&sim=649&cnt=1" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Fed-Batch Microbial Cultivation", - "assets": [ - { - "asset_type": "sources", - "path": "https://github.com/Virtual-Labs/bioreactor-modeling-and-simulation-laboratory-iitd" - } - ], - "sections" : [ - "Theory", - "Procedure", - "Animation", - "Simulator", - "Self Evaluation", - "Matlab", - "References", - "Feedback" - ] - } -} diff --git a/specifications/iit-delhi/bioreactor-modeling-&-simulation-lab/e98912.json b/specifications/iit-delhi/bioreactor-modeling-&-simulation-lab/e98912.json deleted file mode 100644 index 33fb529..0000000 --- a/specifications/iit-delhi/bioreactor-modeling-&-simulation-lab/e98912.json +++ /dev/null @@ -1,39 +0,0 @@ -{ - "experiment": { - "id": "e98912", - "name": "Batch Microbial Cultivation", - "discipline_id": "biotech", - "institute_id": "iitd", - "developers": [ - { - "name": "A. K. Srivastava", - "email": "ashokks@dbeb.iitd.ac.in" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://iitd.vlab.co.in/?sub=63&brch=177&sim=648&cnt=1" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Batch Microbial Cultivation", - "assets": [ - { - "asset_type": "sources", - "path": "https://github.com/Virtual-Labs/bioreactor-modeling-and-simulation-laboratory-iitd" - } - ], - "sections" : [ - "Theory", - "Procedure", - "Animation", - "Simulator", - "Self Evaluation", - "Matlab", - "References", - "Feedback" - ] - } -} diff --git a/specifications/iit-delhi/bioreactor-modeling-&-simulation-lab/e98913.json b/specifications/iit-delhi/bioreactor-modeling-&-simulation-lab/e98913.json deleted file mode 100644 index 779f5f0..0000000 --- a/specifications/iit-delhi/bioreactor-modeling-&-simulation-lab/e98913.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "experiment": { - "id": "e98913", - "name": "Development of mathematical model", - "discipline_id": "biotech", - "institute_id": "iitd", - "developers": [ - { - "name": "A. K. Srivastava", - "email": "ashokks@dbeb.iitd.ac.in" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://iitd.vlab.co.in/?sub=63&brch=177&sim=1542&cnt=3225" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Development of mathematical model", - "assets": [ - { - "asset_type": "sources", - "path": "https://github.com/Virtual-Labs/bioreactor-modeling-and-simulation-laboratory-iitd" - } - ], - "sections" : [ - "Types of Bioreactor", - "Cultivation mode of Bioreactor", - "Steps in Modelling", - "References", - "Feedback" - ] - } -} diff --git a/specifications/iit-delhi/bioreactor-modeling-&-simulation-lab/e98914.json b/specifications/iit-delhi/bioreactor-modeling-&-simulation-lab/e98914.json deleted file mode 100644 index 59f14db..0000000 --- a/specifications/iit-delhi/bioreactor-modeling-&-simulation-lab/e98914.json +++ /dev/null @@ -1,37 +0,0 @@ -{ - "experiment": { - "id": "e98914", - "name": "Determination of Volumeteric Mass Transfer Co-efficient (Oxygen balance method)", - "discipline_id": "biotech", - "institute_id": "iitd", - "developers": [ - { - "name": "A. K. Srivastava", - "email": "ashokks@dbeb.iitd.ac.in" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://iitd.vlab.co.in/?sub=63&brch=177&sim=1195&cnt=1" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Determination of Volumeteric Mass Transfer Co-efficient (Oxygen balance method)", - "assets": [ - { - "asset_type": "sources", - "path": "https://github.com/Virtual-Labs/bioreactor-modeling-and-simulation-laboratory-iitd" - } - ], - "sections" : [ - "Theory", - "Procedure", - "Animation", - "Self Evaluation", - "References", - "Feedback" - ] - } -} diff --git a/specifications/iit-delhi/bioreactor-modeling-&-simulation-lab/e98915.json b/specifications/iit-delhi/bioreactor-modeling-&-simulation-lab/e98915.json deleted file mode 100644 index 3d3e5b9..0000000 --- a/specifications/iit-delhi/bioreactor-modeling-&-simulation-lab/e98915.json +++ /dev/null @@ -1,37 +0,0 @@ -{ - "experiment": { - "id": "e98915", - "name": "Determination of Volumeteric Mass Transfer Co-efficient (Dynamic method)", - "discipline_id": "biotech", - "institute_id": "iitd", - "developers": [ - { - "name": "A. K. Srivastava", - "email": "ashokks@dbeb.iitd.ac.in" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://iitd.vlab.co.in/?sub=63&brch=177&sim=1194&cnt=1" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Determination of Volumeteric Mass Transfer Co-efficient (Dynamic method)", - "assets": [ - { - "asset_type": "sources", - "path": "https://github.com/Virtual-Labs/bioreactor-modeling-and-simulation-laboratory-iitd" - } - ], - "sections" : [ - "Theory", - "Procedure", - "Animation", - "Self Evaluation", - "References", - "Feedback" - ] - } -} diff --git a/specifications/iit-delhi/bioreactor-modeling-&-simulation-lab/e98916.json b/specifications/iit-delhi/bioreactor-modeling-&-simulation-lab/e98916.json deleted file mode 100644 index 3bb6238..0000000 --- a/specifications/iit-delhi/bioreactor-modeling-&-simulation-lab/e98916.json +++ /dev/null @@ -1,37 +0,0 @@ -{ - "experiment": { - "id": "e98916", - "name": "Simultaneous measurement of specific growth / death rate of micro organisms", - "discipline_id": "biotech", - "institute_id": "iitd", - "developers": [ - { - "name": "A. K. Srivastava", - "email": "ashokks@dbeb.iitd.ac.in" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://iitd.vlab.co.in/?sub=63&brch=177&sim=1418&cnt=1" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Simultaneous measurement of specific growth / death rate of micro organisms", - "assets": [ - { - "asset_type": "sources", - "path": "https://github.com/Virtual-Labs/bioreactor-modeling-and-simulation-laboratory-iitd" - } - ], - "sections" : [ - "Theory", - "Procedure", - "Animation", - "Self Evaluation", - "References", - "Feedback" - ] - } -} diff --git a/specifications/iit-delhi/bioreactor-modeling-&-simulation-lab/e98917.json b/specifications/iit-delhi/bioreactor-modeling-&-simulation-lab/e98917.json deleted file mode 100644 index 4755a6a..0000000 --- a/specifications/iit-delhi/bioreactor-modeling-&-simulation-lab/e98917.json +++ /dev/null @@ -1,37 +0,0 @@ -{ - "experiment": { - "id": "e98917", - "name": "Estimation of growth kinetic parameters in batch fermentation", - "discipline_id": "biotech", - "institute_id": "iitd", - "developers": [ - { - "name": "A. K. Srivastava", - "email": "ashokks@dbeb.iitd.ac.in" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://iitd.vlab.co.in/?sub=63&brch=177&sim=1348&cnt=1" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Estimation of growth kinetic parameters in batch fermentation", - "assets": [ - { - "asset_type": "sources", - "path": "https://github.com/Virtual-Labs/bioreactor-modeling-and-simulation-laboratory-iitd" - } - ], - "sections" : [ - "Theory", - "Procedure", - "Animation", - "Self Evaluation", - "References", - "Feedback" - ] - } -} diff --git a/specifications/iit-delhi/bioreactor-modeling-&-simulation-lab/e98918.json b/specifications/iit-delhi/bioreactor-modeling-&-simulation-lab/e98918.json deleted file mode 100644 index 9f3d5d5..0000000 --- a/specifications/iit-delhi/bioreactor-modeling-&-simulation-lab/e98918.json +++ /dev/null @@ -1,37 +0,0 @@ -{ - "experiment": { - "id": "e98918", - "name": "Control Characteristics of pH Controller", - "discipline_id": "biotech", - "institute_id": "iitd", - "developers": [ - { - "name": "A. K. Srivastava", - "email": "ashokks@dbeb.iitd.ac.in" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://iitd.vlab.co.in/?sub=63&brch=177&sim=1259&cnt=1" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Control Characteristics of pH Controller", - "assets": [ - { - "asset_type": "sources", - "path": "https://github.com/Virtual-Labs/bioreactor-modeling-and-simulation-laboratory-iitd" - } - ], - "sections" : [ - "Theory", - "Procedure", - "Animation", - "Self Evaluation", - "References", - "Feedback" - ] - } -} diff --git a/specifications/iit-delhi/bioreactor-modeling-&-simulation-lab/e98919.json b/specifications/iit-delhi/bioreactor-modeling-&-simulation-lab/e98919.json deleted file mode 100644 index f32e1f2..0000000 --- a/specifications/iit-delhi/bioreactor-modeling-&-simulation-lab/e98919.json +++ /dev/null @@ -1,41 +0,0 @@ -{ - "experiment": { - "id": "e98919", - "name": "Bioreactor- Basics", - "discipline_id": "biotech", - "institute_id": "iitd", - "developers": [ - { - "name": "A. K. Srivastava", - "email": "ashokks@dbeb.iitd.ac.in" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://iitd.vlab.co.in/?sub=63&brch=177&sim=647&cnt=1" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Bioreactor- Basics", - "assets": [ - { - "asset_type": "sources", - "path": "https://github.com/Virtual-Labs/bioreactor-modeling-and-simulation-laboratory-iitd" - } - ], - "sections" : [ - "Theory", - "Procedure", - "Simulator", - "V Bioengg 1", - "V Bioengg 2", - "V Applikon 1", - "V Applikon 2", - "V Applikon 3", - "Self Evaluation", - "References" - ] - } -} diff --git a/specifications/iit-delhi/engineering-electromagnetic-lab/dump_json_to_lds.py b/specifications/iit-delhi/engineering-electromagnetic-lab/dump_json_to_lds.py deleted file mode 100644 index 78c74fa..0000000 --- a/specifications/iit-delhi/engineering-electromagnetic-lab/dump_json_to_lds.py +++ /dev/null @@ -1,44 +0,0 @@ - -import os -import os.path -import json -import requests -import glob - -URL= 'http://localhost:5000' -json_path_list = [] - -def post_lab_spec(file_path): - - with open(file_path) as json_file: - print file_path - data = json.load(json_file) - if 'lab' in data.keys(): - end_point = "/labs" - if 'experiment' in data.keys(): - end_point = "/experiments" - - data['key'] = 'defaultkey' - APP_URL = URL + end_point - headers = {'Content-Type': 'application/json'} - try: - response = requests.post(APP_URL, data = json.dumps(data), - headers=headers) - if response.status_code == 200: - print "Added json data : " + file_path - else: - print "Errore in adding json file " + file_path + " due to " + response.text - except Exception as e: - print str(e) -try: - exp_file_list = glob.glob(os.getcwd() + "/e9*.json") - lab_file_list = glob.glob(os.getcwd() + "/[!e9]*.json") - - for filename in exp_file_list: - json_path_list.append(filename) -except Exception as e: - print str(e) - -for file_path in json_path_list: - post_lab_spec(file_path) -post_lab_spec(lab_file_list[0]) diff --git a/specifications/iit-delhi/engineering-electromagnetic-lab/e98763.json b/specifications/iit-delhi/engineering-electromagnetic-lab/e98763.json deleted file mode 100644 index 8f8fd9e..0000000 --- a/specifications/iit-delhi/engineering-electromagnetic-lab/e98763.json +++ /dev/null @@ -1,43 +0,0 @@ -{ - "experiment": { - "id": "e98763", - "name": "Fragmentation of IgG using pepsin", - "discipline_id": "ece", - "institute_id": "iitd", - "developers": [ - { - "name": "Mahesh P Abegaonkar", - "email": "mpjosh@care.iitd.ernet.in" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "cloud", - "hosted_url": "http://vlab.amrita.edu/?sub=3&brch=70&sim=1441&cnt=1" - }, - { - "hosting_status": "hosted", - "hosted_on": "openedx", - "hosted_url": "http://vlab.amrita.edu/?sub=3&brch=70&sim=1441&cnt=1" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Fragmentation of IgG using pepsin", - "assets": [ - { - "asset_type": "sources", - "path": "https://github.com/Virtual-Labs/engineering-electro-magnetics-laboratory-iitd.git" - } - ], - "sections" : [ - "Theory", - "Procedure", - "Self Evaluation", - "Animation", - "Assignment", - "Reference", - "Feedback" - ] - } -} diff --git a/specifications/iit-delhi/engineering-electromagnetic-lab/engineering-electromagnetic-lab.json b/specifications/iit-delhi/engineering-electromagnetic-lab/engineering-electromagnetic-lab.json deleted file mode 100644 index cbcac48..0000000 --- a/specifications/iit-delhi/engineering-electromagnetic-lab/engineering-electromagnetic-lab.json +++ /dev/null @@ -1,44 +0,0 @@ -{ - "lab": { - "id": "ece08", - "name": "engineering electromagnetic lab", - "discipline_id": "ece", - "institute_id": "iitd", - "developers": [ - { - "name": "Mahesh P Abegaonkar", - "email": "mpjosh@care.iitd.ernet.in" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "cloud", - "hosted_url": "http://vlabs.ac.in/courses/course-v1:IIT-Delhi+ECE08+Anytime/about" - }, - { - "hosting_status": "hosted", - "hosted_on": "openedx", - "hosted_url": "http://vlabs.ac.in/courses/course-v1:IIT-Delhi+ECE08+Anytime/about" - } - ], - "integration_level": 4, - "overview": "This lab deals with engineering electromagnetic lab", - "assets": [ - { - "asset_type": "sources", - "path": "https://github.com/Virtual-Labs/engineering-electro-magnetics-laboratory-iitd.git" - } - ], - "sections": [ - { - "name": "Introduction" - }, - { - "experiments" : [ - "e98763" - ] - } - ] - } -} diff --git a/specifications/iit-delhi/virtual-microwave-&-antenna-laboratory/E98756.json b/specifications/iit-delhi/virtual-microwave-&-antenna-laboratory/E98756.json deleted file mode 100644 index 821b996..0000000 --- a/specifications/iit-delhi/virtual-microwave-&-antenna-laboratory/E98756.json +++ /dev/null @@ -1,19 +0,0 @@ -{"experiment": {"id": "e98756", - "name": "Wireless link", - "discipline_id": "ece", - "institute_id": "iitd", - "developers": [{"name":"dev1", "email": "dev1_id"}, - {"name":"dev2", "email": "dev2_id"}], - "hosting_info": [{"hosting_status": "hosted", "hosted_on": "institute", "hosted_url": "http://iitd.vlab.co.in/?sub=65&brch=183&sim=947&cnt=1"}], - "integration_level": "4", - "assets": [{"asset_type": "images", "path": "vlabs.ac.in/images/static/logo.png"}, - {"asset_type": "videos", "path": "vlabs.ac.in/video/abc.mkv"}], - "sections" : ["Theory", - "Pre Experiment Quiz", - "Procedure", - "Video tutorial", - "Experiment", - "Post Experiment Quiz", - "Feedback"] - } -} diff --git a/specifications/iit-delhi/virtual-microwave-&-antenna-laboratory/dump_json_to_lds.py b/specifications/iit-delhi/virtual-microwave-&-antenna-laboratory/dump_json_to_lds.py deleted file mode 100644 index 78c74fa..0000000 --- a/specifications/iit-delhi/virtual-microwave-&-antenna-laboratory/dump_json_to_lds.py +++ /dev/null @@ -1,44 +0,0 @@ - -import os -import os.path -import json -import requests -import glob - -URL= 'http://localhost:5000' -json_path_list = [] - -def post_lab_spec(file_path): - - with open(file_path) as json_file: - print file_path - data = json.load(json_file) - if 'lab' in data.keys(): - end_point = "/labs" - if 'experiment' in data.keys(): - end_point = "/experiments" - - data['key'] = 'defaultkey' - APP_URL = URL + end_point - headers = {'Content-Type': 'application/json'} - try: - response = requests.post(APP_URL, data = json.dumps(data), - headers=headers) - if response.status_code == 200: - print "Added json data : " + file_path - else: - print "Errore in adding json file " + file_path + " due to " + response.text - except Exception as e: - print str(e) -try: - exp_file_list = glob.glob(os.getcwd() + "/e9*.json") - lab_file_list = glob.glob(os.getcwd() + "/[!e9]*.json") - - for filename in exp_file_list: - json_path_list.append(filename) -except Exception as e: - print str(e) - -for file_path in json_path_list: - post_lab_spec(file_path) -post_lab_spec(lab_file_list[0]) diff --git a/specifications/iit-delhi/virtual-microwave-&-antenna-laboratory/e98756.json b/specifications/iit-delhi/virtual-microwave-&-antenna-laboratory/e98756.json deleted file mode 100644 index 9d053b6..0000000 --- a/specifications/iit-delhi/virtual-microwave-&-antenna-laboratory/e98756.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "experiment": { - "id": "e98756", - "name": "Wireless link", - "discipline_id": "ece", - "institute_id": "iitd", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://iitd.vlab.co.in/?sub=65&brch=183&sim=947&cnt=1" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Wireless link", - "assets": [], - "sections" : [ - "Theory", - "Pre Experiment Quiz", - "Procedure", - "Video tutorial", - "Experiment", - "Post Experiment Quiz", - "Feedback" - ] - } -} diff --git a/specifications/iit-delhi/virtual-microwave-&-antenna-laboratory/e98757.json b/specifications/iit-delhi/virtual-microwave-&-antenna-laboratory/e98757.json deleted file mode 100644 index 97566eb..0000000 --- a/specifications/iit-delhi/virtual-microwave-&-antenna-laboratory/e98757.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "experiment": { - "id": "e98757", - "name": "near field", - "discipline_id": "ece", - "institute_id": "iitd", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://iitd.vlab.co.in/?sub=65&brch=183&sim=945&cnt=1" - } - ], - "integration_level": 4, - "overview": "This experiments deals with near field", - "assets": [], - "sections" : [ - "Theory", - "Pre Experiment Quiz", - "Procedure", - "Video tutorial", - "Experiment", - "Post Experiment Quiz", - "Feedback" - ] - } -} diff --git a/specifications/iit-delhi/virtual-microwave-&-antenna-laboratory/e98758.json b/specifications/iit-delhi/virtual-microwave-&-antenna-laboratory/e98758.json deleted file mode 100644 index 2f3a358..0000000 --- a/specifications/iit-delhi/virtual-microwave-&-antenna-laboratory/e98758.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "experiment": { - "id": "e98758", - "name": "s-parameter", - "discipline_id": "ece", - "institute_id": "iitd", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://iitd.vlab.co.in/?sub=65&brch=183&sim=933&cnt=1" - } - ], - "integration_level": 4, - "overview": "This experiments deals with s-parameter", - "assets": [], - "sections" : [ - "Theory", - "Pre Experiment Quiz", - "Procedure", - "Video tutorial", - "Experiment", - "Post Experiment Quiz", - "Feedback", - "Remote Experiment" - ] - } -} diff --git a/specifications/iit-delhi/virtual-microwave-&-antenna-laboratory/e98759.json b/specifications/iit-delhi/virtual-microwave-&-antenna-laboratory/e98759.json deleted file mode 100644 index cd3eaa5..0000000 --- a/specifications/iit-delhi/virtual-microwave-&-antenna-laboratory/e98759.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "experiment": { - "id": "e98759", - "name": "Calibration of vector network analyzer and spectrum analyzer", - "discipline_id": "ece", - "institute_id": "iitd", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://iitd.vlab.co.in/?sub=65&brch=183&sim=930&cnt=1" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Calibration of vector network analyzer and spectrum analyzer", - "assets": [], - "sections" : [ - "Theory", - "Pre Experiment Quiz", - "Procedure", - "Video tutorial", - "Experiment", - "Post Experiment Quiz", - "Feedback" - ] - } -} diff --git a/specifications/iit-delhi/virtual-microwave-&-antenna-laboratory/e98760.json b/specifications/iit-delhi/virtual-microwave-&-antenna-laboratory/e98760.json deleted file mode 100644 index f388a49..0000000 --- a/specifications/iit-delhi/virtual-microwave-&-antenna-laboratory/e98760.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "experiment": { - "id": "e98760", - "name": "Measuring conversion loss of a given harmonic mixer", - "discipline_id": "ece", - "institute_id": "iitd", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://iitd.vlab.co.in/?sub=65&brch=183&sim=929&cnt=1" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Measuring conversion loss of a given harmonic mixer", - "assets": [], - "sections" : [ - "Theory", - "Pre Experiment Quiz", - "Procedure", - "Video tutorial", - "Experiment", - "Post Experiment Quiz", - "Feedback" - ] - } -} diff --git a/specifications/iit-delhi/virtual-microwave-&-antenna-laboratory/e98761.json b/specifications/iit-delhi/virtual-microwave-&-antenna-laboratory/e98761.json deleted file mode 100644 index f97f78a..0000000 --- a/specifications/iit-delhi/virtual-microwave-&-antenna-laboratory/e98761.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "experiment": { - "id": "e98761", - "name": "To measure the sideband levels of a modulated signal", - "discipline_id": "ece", - "institute_id": "iitd", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://iitd.vlab.co.in/?sub=65&brch=183&sim=928&cnt=1" - } - ], - "integration_level": 4, - "overview": "This experiments deals with To measure the sideband levels of a modulated signal", - "assets": [], - "sections" : [ - "Theory", - "Pre Experiment Quiz", - "Procedure", - "Video tutorial", - "Experiment", - "Post Experiment Quiz", - "Feedback" - ] - } -} diff --git a/specifications/iit-delhi/virtual-microwave-&-antenna-laboratory/e98762.json b/specifications/iit-delhi/virtual-microwave-&-antenna-laboratory/e98762.json deleted file mode 100644 index cc88a4d..0000000 --- a/specifications/iit-delhi/virtual-microwave-&-antenna-laboratory/e98762.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "experiment": { - "id": "e98762", - "name": "Measuring total harmonic distortion for a given source in CW mode", - "discipline_id": "ece", - "institute_id": "iitd", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://iitd.vlab.co.in/?sub=65&brch=183&sim=927&cnt=1" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Measuring total harmonic distortion for a given source in CW mode", - "assets": [], - "sections" : [ - "Theory", - "Pre Experiment Quiz", - "Procedure", - "Video tutorial", - "Experiment", - "Post Experiment Quiz", - "Feedback" - ] - } -} diff --git a/specifications/iit-delhi/virtual-microwave-&-antenna-laboratory/virtual-microwave-&-antenna-laboratory.json b/specifications/iit-delhi/virtual-microwave-&-antenna-laboratory/virtual-microwave-&-antenna-laboratory.json deleted file mode 100644 index 17b9863..0000000 --- a/specifications/iit-delhi/virtual-microwave-&-antenna-laboratory/virtual-microwave-&-antenna-laboratory.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "lab": { - "id": "ece22", - "name": "virtual microwave & antenna laboratory", - "discipline_id": "ece", - "institute_id": "iitd", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://iitd.vlab.co.in/?sub=65&brch=183" - } - ], - "integration_level": 4, - "overview": "This lab deals with virtual microwave & antenna laboratory", - "assets": [], - "sections": [ - { - "name": "Introduction" - }, - { - "experiments" : [ - "e98762", - "e98761", - "e98760", - "e98759", - "e98758", - "e98757", - "e98756" - ] - } - ] - } -} diff --git a/specifications/iit-delhi/virtual-power-electronics-and-electric-drives-lab/dump_json_to_lds.py b/specifications/iit-delhi/virtual-power-electronics-and-electric-drives-lab/dump_json_to_lds.py deleted file mode 100644 index 78c74fa..0000000 --- a/specifications/iit-delhi/virtual-power-electronics-and-electric-drives-lab/dump_json_to_lds.py +++ /dev/null @@ -1,44 +0,0 @@ - -import os -import os.path -import json -import requests -import glob - -URL= 'http://localhost:5000' -json_path_list = [] - -def post_lab_spec(file_path): - - with open(file_path) as json_file: - print file_path - data = json.load(json_file) - if 'lab' in data.keys(): - end_point = "/labs" - if 'experiment' in data.keys(): - end_point = "/experiments" - - data['key'] = 'defaultkey' - APP_URL = URL + end_point - headers = {'Content-Type': 'application/json'} - try: - response = requests.post(APP_URL, data = json.dumps(data), - headers=headers) - if response.status_code == 200: - print "Added json data : " + file_path - else: - print "Errore in adding json file " + file_path + " due to " + response.text - except Exception as e: - print str(e) -try: - exp_file_list = glob.glob(os.getcwd() + "/e9*.json") - lab_file_list = glob.glob(os.getcwd() + "/[!e9]*.json") - - for filename in exp_file_list: - json_path_list.append(filename) -except Exception as e: - print str(e) - -for file_path in json_path_list: - post_lab_spec(file_path) -post_lab_spec(lab_file_list[0]) diff --git a/specifications/iit-delhi/virtual-power-electronics-and-electric-drives-lab/e99136.json b/specifications/iit-delhi/virtual-power-electronics-and-electric-drives-lab/e99136.json deleted file mode 100644 index c876e82..0000000 --- a/specifications/iit-delhi/virtual-power-electronics-and-electric-drives-lab/e99136.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "experiment": { - "id": "e99136", - "name": "9 : Rotor Resistance Control of Wound Rotor Induction Motor", - "discipline_id": "ee", - "institute_id": "iitd", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://iitd.vlab.co.in/?sub=67&brch=185&sim=1047&cnt=1" - } - ], - "integration_level": 4, - "overview": "This experiments deals with 9 : Rotor Resistance Control of Wound Rotor Induction Motor", - "assets": [ - { - "asset_type": "sources", - "path": "https://github.com/Virtual-Labs/power-electronics-and-electric-drives-laboratory-iitd" - } - ], - "sections" : [ - "Theory", - "Procedure", - "Self Evaluation", - "Reference" - ] - } -} diff --git a/specifications/iit-delhi/virtual-power-electronics-and-electric-drives-lab/e99137.json b/specifications/iit-delhi/virtual-power-electronics-and-electric-drives-lab/e99137.json deleted file mode 100644 index 1d6ddf5..0000000 --- a/specifications/iit-delhi/virtual-power-electronics-and-electric-drives-lab/e99137.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "experiment": { - "id": "e99137", - "name": "8 : V/F Control Of VSI Fed Three-Phase Induction Motor", - "discipline_id": "ee", - "institute_id": "iitd", - "developers": [ - { - "name": "Bhuvaneswari G", - "email": "bhuvan@ee.iitd.ac.in" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://iitd.vlab.co.in/?sub=67&brch=185&sim=1046&cnt=1" - } - ], - "integration_level": 4, - "overview": "This experiments deals with 8 : V/F Control Of VSI Fed Three-Phase Induction Motor", - "assets": [ - { - "asset_type": "sources", - "path": "https://github.com/Virtual-Labs/power-electronics-and-electric-drives-laboratory-iitd" - } - ], - "sections" : [ - "Theory", - "Procedure", - "Self Evaluation", - "Simulator", - "Reference" - ] - } -} diff --git a/specifications/iit-delhi/virtual-power-electronics-and-electric-drives-lab/e99138.json b/specifications/iit-delhi/virtual-power-electronics-and-electric-drives-lab/e99138.json deleted file mode 100644 index a5cf9e3..0000000 --- a/specifications/iit-delhi/virtual-power-electronics-and-electric-drives-lab/e99138.json +++ /dev/null @@ -1,37 +0,0 @@ -{ - "experiment": { - "id": "e99138", - "name": "7 : Induction Motor Starting and Braking", - "discipline_id": "ee", - "institute_id": "iitd", - "developers": [ - { - "name": "Bhuvaneswari G", - "email": "bhuvan@ee.iitd.ac.in" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://iitd.vlab.co.in/?sub=67&brch=185&sim=1014&cnt=1" - } - ], - "integration_level": 4, - "overview": "This experiments deals with 7 : Induction Motor Starting and Braking", - "assets": [ - { - "asset_type": "sources", - "path": "https://github.com/Virtual-Labs/power-electronics-and-electric-drives-laboratory-iitd" - } - ], - "sections" : [ - "Theory", - "Procedure", - "Assignment", - "Simulator", - "Simulator2", - "Simulator3" - ] - } -} diff --git a/specifications/iit-delhi/virtual-power-electronics-and-electric-drives-lab/e99139.json b/specifications/iit-delhi/virtual-power-electronics-and-electric-drives-lab/e99139.json deleted file mode 100644 index 9ccec57..0000000 --- a/specifications/iit-delhi/virtual-power-electronics-and-electric-drives-lab/e99139.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "experiment": { - "id": "e99139", - "name": "6 : DC Motor Speed Control", - "discipline_id": "ee", - "institute_id": "iitd", - "developers": [ - { - "name": "Bhuvaneswari G", - "email": "bhuvan@ee.iitd.ac.in" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://iitd.vlab.co.in/?sub=67&brch=185&sim=473&cnt=1" - } - ], - "integration_level": 4, - "overview": "This experiments deals with 6 : DC Motor Speed Control", - "assets": [ - { - "asset_type": "sources", - "path": "https://github.com/Virtual-Labs/power-electronics-and-electric-drives-laboratory-iitd" - } - ], - "sections" : [ - "Theory", - "Procedure", - "Simulator" - ] - } -} diff --git a/specifications/iit-delhi/virtual-power-electronics-and-electric-drives-lab/e99140.json b/specifications/iit-delhi/virtual-power-electronics-and-electric-drives-lab/e99140.json deleted file mode 100644 index 1a83b36..0000000 --- a/specifications/iit-delhi/virtual-power-electronics-and-electric-drives-lab/e99140.json +++ /dev/null @@ -1,38 +0,0 @@ -{ - "experiment": { - "id": "e99140", - "name": "5 : DC motor starting and braking", - "discipline_id": "ee", - "institute_id": "iitd", - "developers": [ - { - "name": "Bhuvaneswari G", - "email": "bhuvan@ee.iitd.ac.in" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://iitd.vlab.co.in/?sub=67&brch=185&sim=470&cnt=1" - } - ], - "integration_level": 4, - "overview": "This experiments deals with 5 : DC motor starting and braking", - "assets": [ - { - "asset_type": "sources", - "path": "https://github.com/Virtual-Labs/power-electronics-and-electric-drives-laboratory-iitd" - } - ], - "sections" : [ - "Theory", - "Procedure", - "Self Evaluation", - "Simulator", - "Reference", - "Simulator 2", - "Simulator 3" - ] - } -} diff --git a/specifications/iit-delhi/virtual-power-electronics-and-electric-drives-lab/e99141.json b/specifications/iit-delhi/virtual-power-electronics-and-electric-drives-lab/e99141.json deleted file mode 100644 index f2a4696..0000000 --- a/specifications/iit-delhi/virtual-power-electronics-and-electric-drives-lab/e99141.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "experiment": { - "id": "e99141", - "name": "4c : Single Phase VSI with Sine-Triangular PWM", - "discipline_id": "ee", - "institute_id": "iitd", - "developers": [ - { - "name": "Bhuvaneswari G", - "email": "bhuvan@ee.iitd.ac.in" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://iitd.vlab.co.in/?sub=67&brch=185&sim=469&cnt=1" - } - ], - "integration_level": 4, - "overview": "This experiments deals with 4c : Single Phase VSI with Sine-Triangular PWM", - "assets": [ - { - "asset_type": "sources", - "path": "https://github.com/Virtual-Labs/power-electronics-and-electric-drives-laboratory-iitd" - } - ], - "sections" : [ - "Theory", - "Procedure", - "Self Evaluation", - "Simulator", - "Reference" - ] - } -} diff --git a/specifications/iit-delhi/virtual-power-electronics-and-electric-drives-lab/e99142.json b/specifications/iit-delhi/virtual-power-electronics-and-electric-drives-lab/e99142.json deleted file mode 100644 index e8b314f..0000000 --- a/specifications/iit-delhi/virtual-power-electronics-and-electric-drives-lab/e99142.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "experiment": { - "id": "e99142", - "name": "4b : Single Phase VSI with Single PWM", - "discipline_id": "ee", - "institute_id": "iitd", - "developers": [ - { - "name": "Bhuvaneswari G", - "email": "bhuvan@ee.iitd.ac.in" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://iitd.vlab.co.in/?sub=67&brch=185&sim=468&cnt=1" - } - ], - "integration_level": 4, - "overview": "This experiments deals with 4b : Single Phase VSI with Single PWM", - "assets": [ - { - "asset_type": "sources", - "path": "https://github.com/Virtual-Labs/power-electronics-and-electric-drives-laboratory-iitd" - } - ], - "sections" : [ - "Theory", - "Procedure", - "Self Evaluation", - "Simulator", - "Reference" - ] - } -} diff --git a/specifications/iit-delhi/virtual-power-electronics-and-electric-drives-lab/e99143.json b/specifications/iit-delhi/virtual-power-electronics-and-electric-drives-lab/e99143.json deleted file mode 100644 index 9c9dcda..0000000 --- a/specifications/iit-delhi/virtual-power-electronics-and-electric-drives-lab/e99143.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "experiment": { - "id": "e99143", - "name": "4a : Single Phase VSI With Square Wave PWM", - "discipline_id": "ee", - "institute_id": "iitd", - "developers": [ - { - "name": "Bhuvaneswari G", - "email": "bhuvan@ee.iitd.ac.in" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://iitd.vlab.co.in/?sub=67&brch=185&sim=460&cnt=1" - } - ], - "integration_level": 4, - "overview": "This experiments deals with 4a : Single Phase VSI With Square Wave PWM", - "assets": [ - { - "asset_type": "sources", - "path": "https://github.com/Virtual-Labs/power-electronics-and-electric-drives-laboratory-iitd" - } - ], - "sections" : [ - "Theory", - "Procedure", - "Self Evaluation", - "Simulator", - "Reference" - ] - } -} diff --git a/specifications/iit-delhi/virtual-power-electronics-and-electric-drives-lab/e99144.json b/specifications/iit-delhi/virtual-power-electronics-and-electric-drives-lab/e99144.json deleted file mode 100644 index e95d6b0..0000000 --- a/specifications/iit-delhi/virtual-power-electronics-and-electric-drives-lab/e99144.json +++ /dev/null @@ -1,37 +0,0 @@ -{ - "experiment": { - "id": "e99144", - "name": "3c : Buck Boost Converter", - "discipline_id": "ee", - "institute_id": "iitd", - "developers": [ - { - "name": "Bhuvaneswari G", - "email": "bhuvan@ee.iitd.ac.in" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://iitd.vlab.co.in/?sub=67&brch=185&sim=435&cnt=1" - } - ], - "integration_level": 4, - "overview": "This experiments deals with 3c : Buck Boost Converter", - "assets": [ - { - "asset_type": "sources", - "path": "https://github.com/Virtual-Labs/power-electronics-and-electric-drives-laboratory-iitd" - } - ], - "sections" : [ - "Theory", - "Procedure", - "Self Evaluation", - "Simulator", - "Assignment", - "Reference" - ] - } -} diff --git a/specifications/iit-delhi/virtual-power-electronics-and-electric-drives-lab/e99145.json b/specifications/iit-delhi/virtual-power-electronics-and-electric-drives-lab/e99145.json deleted file mode 100644 index 4265acc..0000000 --- a/specifications/iit-delhi/virtual-power-electronics-and-electric-drives-lab/e99145.json +++ /dev/null @@ -1,37 +0,0 @@ -{ - "experiment": { - "id": "e99145", - "name": "3b : Boost Converter", - "discipline_id": "ee", - "institute_id": "iitd", - "developers": [ - { - "name": "Bhuvaneswari G", - "email": "bhuvan@ee.iitd.ac.in" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://iitd.vlab.co.in/?sub=67&brch=185&sim=434&cnt=1" - } - ], - "integration_level": 4, - "overview": "This experiments deals with 3b : Boost Converter", - "assets": [ - { - "asset_type": "sources", - "path": "https://github.com/Virtual-Labs/power-electronics-and-electric-drives-laboratory-iitd" - } - ], - "sections" : [ - "Theory", - "Procedure", - "Self Evaluation", - "Simulator", - "Assignment", - "Reference" - ] - } -} diff --git a/specifications/iit-delhi/virtual-power-electronics-and-electric-drives-lab/e99146.json b/specifications/iit-delhi/virtual-power-electronics-and-electric-drives-lab/e99146.json deleted file mode 100644 index ffd3466..0000000 --- a/specifications/iit-delhi/virtual-power-electronics-and-electric-drives-lab/e99146.json +++ /dev/null @@ -1,37 +0,0 @@ -{ - "experiment": { - "id": "e99146", - "name": "3a : Buck Converter", - "discipline_id": "ee", - "institute_id": "iitd", - "developers": [ - { - "name": "Bhuvaneswari G", - "email": "bhuvan@ee.iitd.ac.in" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://iitd.vlab.co.in/?sub=67&brch=185&sim=433&cnt=1" - } - ], - "integration_level": 4, - "overview": "This experiments deals with 3a : Buck Converter", - "assets": [ - { - "asset_type": "sources", - "path": "https://github.com/Virtual-Labs/power-electronics-and-electric-drives-laboratory-iitd" - } - ], - "sections" : [ - "Theory", - "Procedure", - "Self Evaluation", - "Simulator", - "Assignment", - "Reference" - ] - } -} diff --git a/specifications/iit-delhi/virtual-power-electronics-and-electric-drives-lab/e99147.json b/specifications/iit-delhi/virtual-power-electronics-and-electric-drives-lab/e99147.json deleted file mode 100644 index aea5006..0000000 --- a/specifications/iit-delhi/virtual-power-electronics-and-electric-drives-lab/e99147.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "experiment": { - "id": "e99147", - "name": "2 : 3 Phase Rectifier With Source Inductance", - "discipline_id": "ee", - "institute_id": "iitd", - "developers": [ - { - "name": "Bhuvaneswari G", - "email": "bhuvan@ee.iitd.ac.in" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://iitd.vlab.co.in/?sub=67&brch=185&sim=432&cnt=1" - } - ], - "integration_level": 4, - "overview": "This experiments deals with 2 : 3 Phase Rectifier With Source Inductance", - "assets": [ - { - "asset_type": "sources", - "path": "https://github.com/Virtual-Labs/power-electronics-and-electric-drives-laboratory-iitd" - } - ], - "sections" : [ - "Theory", - "Procedure", - "Simulator", - "Reference" - ] - } -} diff --git a/specifications/iit-delhi/virtual-power-electronics-and-electric-drives-lab/e99148.json b/specifications/iit-delhi/virtual-power-electronics-and-electric-drives-lab/e99148.json deleted file mode 100644 index 49e1be5..0000000 --- a/specifications/iit-delhi/virtual-power-electronics-and-electric-drives-lab/e99148.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "experiment": { - "id": "e99148", - "name": "1b : Full Wave Rectifier With Source Inductance", - "discipline_id": "ee", - "institute_id": "iitd", - "developers": [ - { - "name": "Bhuvaneswari G", - "email": "bhuvan@ee.iitd.ac.in" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://iitd.vlab.co.in/?sub=67&brch=185&sim=431&cnt=4" - } - ], - "integration_level": 4, - "overview": "This experiments deals with 1b : Full Wave Rectifier With Source Inductance", - "assets": [ - { - "asset_type": "sources", - "path": "https://github.com/Virtual-Labs/power-electronics-and-electric-drives-laboratory-iitd" - } - ], - "sections" : [ - "Simulator" - ] - } -} diff --git a/specifications/iit-delhi/virtual-power-electronics-and-electric-drives-lab/e99149.json b/specifications/iit-delhi/virtual-power-electronics-and-electric-drives-lab/e99149.json deleted file mode 100644 index 8a13b77..0000000 --- a/specifications/iit-delhi/virtual-power-electronics-and-electric-drives-lab/e99149.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "experiment": { - "id": "e99149", - "name": "1a : Full Wave Rectifier", - "discipline_id": "ee", - "institute_id": "iitd", - "developers": [ - { - "name": "Bhuvaneswari G", - "email": "bhuvan@ee.iitd.ac.in" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://iitd.vlab.co.in/?sub=67&brch=185&sim=430&cnt=1" - } - ], - "integration_level": 4, - "overview": "This experiments deals with 1a : Full Wave Rectifier", - "assets": [ - { - "asset_type": "sources", - "path": "https://github.com/Virtual-Labs/power-electronics-and-electric-drives-laboratory-iitd" - } - ], - "sections" : [ - "Theory", - "Procedure", - "Simulator", - "Assignment", - "Reference" - ] - } -} diff --git a/specifications/iit-delhi/virtual-power-electronics-and-electric-drives-lab/virtual-power-electronics-and-electric-drives-lab.json b/specifications/iit-delhi/virtual-power-electronics-and-electric-drives-lab/virtual-power-electronics-and-electric-drives-lab.json deleted file mode 100644 index a6dd92f..0000000 --- a/specifications/iit-delhi/virtual-power-electronics-and-electric-drives-lab/virtual-power-electronics-and-electric-drives-lab.json +++ /dev/null @@ -1,52 +0,0 @@ -{ - "lab": { - "id": "eee07", - "name": "virtual power electronics and electric drives lab", - "discipline_id": "ee", - "institute_id": "iitd", - "developers": [ - { - "name": "Bhuvaneswari G", - "email": "bhuvan@ee.iitd.ac.in" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://iitd.vlab.co.in/?sub=67&brch=185" - } - ], - "integration_level": 4, - "overview": "This lab deals with virtual power electronics and electric drives lab", - "assets": [ - { - "asset_type": "sources", - "path": "https://github.com/Virtual-Labs/power-electronics-and-electric-drives-laboratory-iitd" - } - ], - "sections": [ - { - "name": "Introduction" - }, - { - "experiments" : [ - "e99149", - "e99148", - "e99147", - "e99146", - "e99145", - "e99144", - "e99143", - "e99142", - "e99141", - "e99140", - "e99139", - "e99138", - "e99137", - "e99136" - ] - } - ] - } -} diff --git a/specifications/iit-guwahati/creative-design,-prototyping-&-experiential-simulation-in-human-computer-interaction-(hci)/creative-design,-prototyping-&-experiential-simulation-in-human-computer-interaction-(hci).json b/specifications/iit-guwahati/creative-design,-prototyping-&-experiential-simulation-in-human-computer-interaction-(hci)/creative-design,-prototyping-&-experiential-simulation-in-human-computer-interaction-(hci).json deleted file mode 100644 index 6debf1c..0000000 --- a/specifications/iit-guwahati/creative-design,-prototyping-&-experiential-simulation-in-human-computer-interaction-(hci)/creative-design,-prototyping-&-experiential-simulation-in-human-computer-interaction-(hci).json +++ /dev/null @@ -1,54 +0,0 @@ -{ - "lab": { - "id": "hci-iitg", - "name": "creative design, prototyping & experiential simulation in human computer interaction (hci)", - "discipline_id": "dsgn-engg", - "institute_id": "iitg", - "developers": [ - { - "name": "Prof. Pradeep Yammiyavar", - "email": "pradeep@iitg.ernet.in" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "cloud", - "hosted_url": "http://iitg.vlab.co.in/?sub=72&brch=170" - } - ], - "integration_level": 4, - "overview": "This lab deals with creative design, prototyping & experiential simulation in human computer interaction (hci)", - "assets": [ - { - "asset_type": "sources", - "path": "https://github.com/Virtual-Labs/creative-design-prototyping-lab-iitg" - } - ], - "sections": [ - { - "name": "Introduction" - }, - { - "experiments" : [ - "e98688", - "e98687", - "e98686", - "e98685", - "e98684", - "e98683", - "e98682", - "e98681", - "e98680", - "e98679", - "e98678", - "e98677", - "e98676", - "e98675", - "e98674", - "e98673" - ] - } - ] - } -} diff --git a/specifications/iit-guwahati/creative-design,-prototyping-&-experiential-simulation-in-human-computer-interaction-(hci)/dump_json_to_lds.py b/specifications/iit-guwahati/creative-design,-prototyping-&-experiential-simulation-in-human-computer-interaction-(hci)/dump_json_to_lds.py deleted file mode 100644 index 78c74fa..0000000 --- a/specifications/iit-guwahati/creative-design,-prototyping-&-experiential-simulation-in-human-computer-interaction-(hci)/dump_json_to_lds.py +++ /dev/null @@ -1,44 +0,0 @@ - -import os -import os.path -import json -import requests -import glob - -URL= 'http://localhost:5000' -json_path_list = [] - -def post_lab_spec(file_path): - - with open(file_path) as json_file: - print file_path - data = json.load(json_file) - if 'lab' in data.keys(): - end_point = "/labs" - if 'experiment' in data.keys(): - end_point = "/experiments" - - data['key'] = 'defaultkey' - APP_URL = URL + end_point - headers = {'Content-Type': 'application/json'} - try: - response = requests.post(APP_URL, data = json.dumps(data), - headers=headers) - if response.status_code == 200: - print "Added json data : " + file_path - else: - print "Errore in adding json file " + file_path + " due to " + response.text - except Exception as e: - print str(e) -try: - exp_file_list = glob.glob(os.getcwd() + "/e9*.json") - lab_file_list = glob.glob(os.getcwd() + "/[!e9]*.json") - - for filename in exp_file_list: - json_path_list.append(filename) -except Exception as e: - print str(e) - -for file_path in json_path_list: - post_lab_spec(file_path) -post_lab_spec(lab_file_list[0]) diff --git a/specifications/iit-guwahati/creative-design,-prototyping-&-experiential-simulation-in-human-computer-interaction-(hci)/e98673.json b/specifications/iit-guwahati/creative-design,-prototyping-&-experiential-simulation-in-human-computer-interaction-(hci)/e98673.json deleted file mode 100644 index 4d98a15..0000000 --- a/specifications/iit-guwahati/creative-design,-prototyping-&-experiential-simulation-in-human-computer-interaction-(hci)/e98673.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "experiment": { - "id": "e98673", - "name": "Effect of Typography design on Readability", - "discipline_id": "dsgn-engg", - "institute_id": "iitg", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "cloud", - "hosted_url": "http://iitg.vlab.co.in/?sub=72&brch=170&sim=1569&cnt=1" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Effect of Typography design on Readability", - "assets": [ - { - "asset_type": "sources", - "path": "https://github.com/Virtual-Labs/creative-design-prototyping-lab-iitg" - } - ], - "sections" : [ - "Theory", - "Objective", - "Procedure", - "Simulator", - "Quiz", - "Assignment", - "Reference", - "Feedback" - ] - } -} diff --git a/specifications/iit-guwahati/creative-design,-prototyping-&-experiential-simulation-in-human-computer-interaction-(hci)/e98674.json b/specifications/iit-guwahati/creative-design,-prototyping-&-experiential-simulation-in-human-computer-interaction-(hci)/e98674.json deleted file mode 100644 index 937f38b..0000000 --- a/specifications/iit-guwahati/creative-design,-prototyping-&-experiential-simulation-in-human-computer-interaction-(hci)/e98674.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "experiment": { - "id": "e98674", - "name": "Icons in Graphical User Interfaces(GUI)", - "discipline_id": "dsgn-engg", - "institute_id": "iitg", - "developers": [ - { - "name": "Prof. Pradeep Yammiyavar", - "email": "pradeep@iitg.ernet.in" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "cloud", - "hosted_url": "http://iitg.vlab.co.in/?sub=72&brch=170&sim=1359&cnt=1" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Icons in Graphical User Interfaces(GUI)", - "assets": [ - { - "asset_type": "sources", - "path": "https://github.com/Virtual-Labs/creative-design-prototyping-lab-iitg" - } - ], - "sections" : [ - "Theory", - "Objective", - "Design Heuristics", - "Procedure", - "Design Task", - "Quiz", - "Assignment", - "Reference", - "Feedback" - ] - } -} diff --git a/specifications/iit-guwahati/creative-design,-prototyping-&-experiential-simulation-in-human-computer-interaction-(hci)/e98675.json b/specifications/iit-guwahati/creative-design,-prototyping-&-experiential-simulation-in-human-computer-interaction-(hci)/e98675.json deleted file mode 100644 index 64200c8..0000000 --- a/specifications/iit-guwahati/creative-design,-prototyping-&-experiential-simulation-in-human-computer-interaction-(hci)/e98675.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "experiment": { - "id": "e98675", - "name": "Prototyping of Control Panel of Domestic Appliances", - "discipline_id": "dsgn-engg", - "institute_id": "iitg", - "developers": [ - { - "name": "Prof. Pradeep Yammiyavar", - "email": "pradeep@iitg.ernet.in" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "cloud", - "hosted_url": "http://iitg.vlab.co.in/?sub=72&brch=170&sim=1381&cnt=1" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Prototyping of Control Panel of Domestic Appliances", - "assets": [ - { - "asset_type": "sources", - "path": "https://github.com/Virtual-Labs/creative-design-prototyping-lab-iitg" - } - ], - "sections" : [ - "Theory", - "Design Guidelines", - "Objective", - "Procedure", - "Simulator", - "Quiz", - "Assignment", - "Reference", - "Feedback" - ] - } -} diff --git a/specifications/iit-guwahati/creative-design,-prototyping-&-experiential-simulation-in-human-computer-interaction-(hci)/e98676.json b/specifications/iit-guwahati/creative-design,-prototyping-&-experiential-simulation-in-human-computer-interaction-(hci)/e98676.json deleted file mode 100644 index d5d3adc..0000000 --- a/specifications/iit-guwahati/creative-design,-prototyping-&-experiential-simulation-in-human-computer-interaction-(hci)/e98676.json +++ /dev/null @@ -1,39 +0,0 @@ -{ - "experiment": { - "id": "e98676", - "name": "Prototyping of TV Remote Control Panel", - "discipline_id": "dsgn-engg", - "institute_id": "iitg", - "developers": [ - { - "name": "Prof. Pradeep Yammiyavar", - "email": "pradeep@iitg.ernet.in" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "cloud", - "hosted_url": "http://iitg.vlab.co.in/?sub=72&brch=170&sim=1357&cnt=1" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Prototyping of TV Remote Control Panel", - "assets": [ - { - "asset_type": "sources", - "path": "https://github.com/Virtual-Labs/creative-design-prototyping-lab-iitg" - } - ], - "sections" : [ - "Theory", - "Design Guidelines", - "Objective", - "Procedure", - "Simulator", - "Quiz", - "Assignment", - "Reference" - ] - } -} diff --git a/specifications/iit-guwahati/creative-design,-prototyping-&-experiential-simulation-in-human-computer-interaction-(hci)/e98677.json b/specifications/iit-guwahati/creative-design,-prototyping-&-experiential-simulation-in-human-computer-interaction-(hci)/e98677.json deleted file mode 100644 index bcc84f2..0000000 --- a/specifications/iit-guwahati/creative-design,-prototyping-&-experiential-simulation-in-human-computer-interaction-(hci)/e98677.json +++ /dev/null @@ -1,39 +0,0 @@ -{ - "experiment": { - "id": "e98677", - "name": "Usability Measurement Tool for E-Learning ( UMTEL )", - "discipline_id": "dsgn-engg", - "institute_id": "iitg", - "developers": [ - { - "name": "Prof. Pradeep Yammiyavar", - "email": "pradeep@iitg.ernet.in" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "cloud", - "hosted_url": "http://iitg.vlab.co.in/?sub=72&brch=170&sim=1313&cnt=1" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Usability Measurement Tool for E-Learning ( UMTEL )", - "assets": [ - { - "asset_type": "sources", - "path": "https://github.com/Virtual-Labs/creative-design-prototyping-lab-iitg" - } - ], - "sections" : [ - "Theory", - "Objective", - "Procedure", - "UMTEL", - "Quiz", - "Assignment", - "Reference", - "Feedback" - ] - } -} diff --git a/specifications/iit-guwahati/creative-design,-prototyping-&-experiential-simulation-in-human-computer-interaction-(hci)/e98678.json b/specifications/iit-guwahati/creative-design,-prototyping-&-experiential-simulation-in-human-computer-interaction-(hci)/e98678.json deleted file mode 100644 index 08eedab..0000000 --- a/specifications/iit-guwahati/creative-design,-prototyping-&-experiential-simulation-in-human-computer-interaction-(hci)/e98678.json +++ /dev/null @@ -1,39 +0,0 @@ -{ - "experiment": { - "id": "e98678", - "name": "Card Sorting Technique", - "discipline_id": "dsgn-engg", - "institute_id": "iitg", - "developers": [ - { - "name": "Prof. Pradeep Yammiyavar", - "email": "pradeep@iitg.ernet.in" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "cloud", - "hosted_url": "http://iitg.vlab.co.in/?sub=72&brch=170&sim=1303&cnt=1" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Card Sorting Technique", - "assets": [ - { - "asset_type": "sources", - "path": "https://github.com/Virtual-Labs/creative-design-prototyping-lab-iitg" - } - ], - "sections" : [ - "Theory", - "Objective", - "Procedure", - "Simulator", - "Quiz", - "Assignment", - "Reference", - "Feedback" - ] - } -} diff --git a/specifications/iit-guwahati/creative-design,-prototyping-&-experiential-simulation-in-human-computer-interaction-(hci)/e98679.json b/specifications/iit-guwahati/creative-design,-prototyping-&-experiential-simulation-in-human-computer-interaction-(hci)/e98679.json deleted file mode 100644 index 3512879..0000000 --- a/specifications/iit-guwahati/creative-design,-prototyping-&-experiential-simulation-in-human-computer-interaction-(hci)/e98679.json +++ /dev/null @@ -1,41 +0,0 @@ -{ - "experiment": { - "id": "e98679", - "name": "Color Theory", - "discipline_id": "dsgn-engg", - "institute_id": "iitg", - "developers": [ - { - "name": "Prof. Pradeep Yammiyavar", - "email": "pradeep@iitg.ernet.in" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "cloud", - "hosted_url": "http://iitg.vlab.co.in/?sub=72&brch=170&sim=1300&cnt=2815" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Color Theory", - "assets": [ - { - "asset_type": "sources", - "path": "https://github.com/Virtual-Labs/creative-design-prototyping-lab-iitg" - } - ], - "sections" : [ - "Theory I", - "Theory II", - "Theory III", - "Objective", - "Procedure", - "Simulator", - "Quiz", - "Assignment", - "Reference", - "Feedback" - ] - } -} diff --git a/specifications/iit-guwahati/creative-design,-prototyping-&-experiential-simulation-in-human-computer-interaction-(hci)/e98680.json b/specifications/iit-guwahati/creative-design,-prototyping-&-experiential-simulation-in-human-computer-interaction-(hci)/e98680.json deleted file mode 100644 index b88fde9..0000000 --- a/specifications/iit-guwahati/creative-design,-prototyping-&-experiential-simulation-in-human-computer-interaction-(hci)/e98680.json +++ /dev/null @@ -1,39 +0,0 @@ -{ - "experiment": { - "id": "e98680", - "name": "The Visual Coding Of Information In Short Term Memory (STM)", - "discipline_id": "dsgn-engg", - "institute_id": "iitg", - "developers": [ - { - "name": "Prof. Pradeep Yammiyavar", - "email": "pradeep@iitg.ernet.in" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "cloud", - "hosted_url": "http://iitg.vlab.co.in/?sub=72&brch=170&sim=863&cnt=1" - } - ], - "integration_level": 4, - "overview": "This experiments deals with The Visual Coding Of Information In Short Term Memory (STM)", - "assets": [ - { - "asset_type": "sources", - "path": "https://github.com/Virtual-Labs/creative-design-prototyping-lab-iitg" - } - ], - "sections" : [ - "Theory", - "Objective", - "Procedure", - "Simulator", - "Quiz", - "Assignment", - "Reference", - "Feedback" - ] - } -} diff --git a/specifications/iit-guwahati/creative-design,-prototyping-&-experiential-simulation-in-human-computer-interaction-(hci)/e98681.json b/specifications/iit-guwahati/creative-design,-prototyping-&-experiential-simulation-in-human-computer-interaction-(hci)/e98681.json deleted file mode 100644 index 6e9b2fd..0000000 --- a/specifications/iit-guwahati/creative-design,-prototyping-&-experiential-simulation-in-human-computer-interaction-(hci)/e98681.json +++ /dev/null @@ -1,39 +0,0 @@ -{ - "experiment": { - "id": "e98681", - "name": "Consistency and Inconsistency In Interaction", - "discipline_id": "dsgn-engg", - "institute_id": "iitg", - "developers": [ - { - "name": "Prof. Pradeep Yammiyavar", - "email": "pradeep@iitg.ernet.in" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "cloud", - "hosted_url": "http://iitg.vlab.co.in/?sub=72&brch=170&sim=862&cnt=1" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Consistency and Inconsistency In Interaction", - "assets": [ - { - "asset_type": "sources", - "path": "https://github.com/Virtual-Labs/creative-design-prototyping-lab-iitg" - } - ], - "sections" : [ - "Theory", - "Objective", - "Procedure", - "Simulator", - "Quiz", - "Assignment", - "Reference", - "Feedback" - ] - } -} diff --git a/specifications/iit-guwahati/creative-design,-prototyping-&-experiential-simulation-in-human-computer-interaction-(hci)/e98682.json b/specifications/iit-guwahati/creative-design,-prototyping-&-experiential-simulation-in-human-computer-interaction-(hci)/e98682.json deleted file mode 100644 index 4b11fbd..0000000 --- a/specifications/iit-guwahati/creative-design,-prototyping-&-experiential-simulation-in-human-computer-interaction-(hci)/e98682.json +++ /dev/null @@ -1,39 +0,0 @@ -{ - "experiment": { - "id": "e98682", - "name": "GOMS Model", - "discipline_id": "dsgn-engg", - "institute_id": "iitg", - "developers": [ - { - "name": "Prof. Pradeep Yammiyavar", - "email": "pradeep@iitg.ernet.in" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "cloud", - "hosted_url": "http://iitg.vlab.co.in/?sub=72&brch=170&sim=770&cnt=1" - } - ], - "integration_level": 4, - "overview": "This experiments deals with GOMS Model", - "assets": [ - { - "asset_type": "sources", - "path": "https://github.com/Virtual-Labs/creative-design-prototyping-lab-iitg" - } - ], - "sections" : [ - "Theory", - "Objective", - "Procedure", - "Simulator", - "Quiz", - "Assignment", - "Reference", - "Feedback" - ] - } -} diff --git a/specifications/iit-guwahati/creative-design,-prototyping-&-experiential-simulation-in-human-computer-interaction-(hci)/e98683.json b/specifications/iit-guwahati/creative-design,-prototyping-&-experiential-simulation-in-human-computer-interaction-(hci)/e98683.json deleted file mode 100644 index 273d5ef..0000000 --- a/specifications/iit-guwahati/creative-design,-prototyping-&-experiential-simulation-in-human-computer-interaction-(hci)/e98683.json +++ /dev/null @@ -1,39 +0,0 @@ -{ - "experiment": { - "id": "e98683", - "name": "Hick Hyman's Law", - "discipline_id": "dsgn-engg", - "institute_id": "iitg", - "developers": [ - { - "name": "Prof. Pradeep Yammiyavar", - "email": "pradeep@iitg.ernet.in" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "cloud", - "hosted_url": "http://iitg.vlab.co.in/?sub=72&brch=170&sim=769&cnt=1" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Hick Hyman's Law", - "assets": [ - { - "asset_type": "sources", - "path": "https://github.com/Virtual-Labs/creative-design-prototyping-lab-iitg" - } - ], - "sections" : [ - "Theory", - "Objective", - "Procedure", - "Simulator", - "Quiz", - "Assignment", - "Reference", - "Feedback" - ] - } -} diff --git a/specifications/iit-guwahati/creative-design,-prototyping-&-experiential-simulation-in-human-computer-interaction-(hci)/e98684.json b/specifications/iit-guwahati/creative-design,-prototyping-&-experiential-simulation-in-human-computer-interaction-(hci)/e98684.json deleted file mode 100644 index 5dedad1..0000000 --- a/specifications/iit-guwahati/creative-design,-prototyping-&-experiential-simulation-in-human-computer-interaction-(hci)/e98684.json +++ /dev/null @@ -1,39 +0,0 @@ -{ - "experiment": { - "id": "e98684", - "name": "Mobile Keypad Design", - "discipline_id": "dsgn-engg", - "institute_id": "iitg", - "developers": [ - { - "name": "Prof. Pradeep Yammiyavar", - "email": "pradeep@iitg.ernet.in" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "cloud", - "hosted_url": "http://iitg.vlab.co.in/?sub=72&brch=170&sim=764&cnt=1" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Mobile Keypad Design", - "assets": [ - { - "asset_type": "sources", - "path": "https://github.com/Virtual-Labs/creative-design-prototyping-lab-iitg" - } - ], - "sections" : [ - "Theory", - "Objective", - "Procedure", - "Simulator", - "Quiz", - "Assignment", - "Reference", - "Feedback" - ] - } -} diff --git a/specifications/iit-guwahati/creative-design,-prototyping-&-experiential-simulation-in-human-computer-interaction-(hci)/e98685.json b/specifications/iit-guwahati/creative-design,-prototyping-&-experiential-simulation-in-human-computer-interaction-(hci)/e98685.json deleted file mode 100644 index f335894..0000000 --- a/specifications/iit-guwahati/creative-design,-prototyping-&-experiential-simulation-in-human-computer-interaction-(hci)/e98685.json +++ /dev/null @@ -1,39 +0,0 @@ -{ - "experiment": { - "id": "e98685", - "name": "Fitts Law", - "discipline_id": "dsgn-engg", - "institute_id": "iitg", - "developers": [ - { - "name": "Prof. Pradeep Yammiyavar", - "email": "pradeep@iitg.ernet.in" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "cloud", - "hosted_url": "http://iitg.vlab.co.in/?sub=72&brch=170&sim=762&cnt=1" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Fitts Law", - "assets": [ - { - "asset_type": "sources", - "path": "https://github.com/Virtual-Labs/creative-design-prototyping-lab-iitg" - } - ], - "sections" : [ - "Theory", - "Objective", - "Procedure", - "Simulator", - "Quiz", - "Assignment", - "Reference", - "Feedback" - ] - } -} diff --git a/specifications/iit-guwahati/creative-design,-prototyping-&-experiential-simulation-in-human-computer-interaction-(hci)/e98686.json b/specifications/iit-guwahati/creative-design,-prototyping-&-experiential-simulation-in-human-computer-interaction-(hci)/e98686.json deleted file mode 100644 index c604c29..0000000 --- a/specifications/iit-guwahati/creative-design,-prototyping-&-experiential-simulation-in-human-computer-interaction-(hci)/e98686.json +++ /dev/null @@ -1,39 +0,0 @@ -{ - "experiment": { - "id": "e98686", - "name": "Sensitivity, Errors And Task Complexity Measurements For Pointing Devices", - "discipline_id": "dsgn-engg", - "institute_id": "iitg", - "developers": [ - { - "name": "Prof. Pradeep Yammiyavar", - "email": "pradeep@iitg.ernet.in" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "cloud", - "hosted_url": "http://iitg.vlab.co.in/?sub=72&brch=170&sim=751&cnt=1" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Sensitivity, Errors And Task Complexity Measurements For Pointing Devices", - "assets": [ - { - "asset_type": "sources", - "path": "https://github.com/Virtual-Labs/creative-design-prototyping-lab-iitg" - } - ], - "sections" : [ - "Theory", - "Objective", - "Procedure", - "Simulator", - "Quiz", - "Assignment", - "Reference", - "Feedback" - ] - } -} diff --git a/specifications/iit-guwahati/creative-design,-prototyping-&-experiential-simulation-in-human-computer-interaction-(hci)/e98687.json b/specifications/iit-guwahati/creative-design,-prototyping-&-experiential-simulation-in-human-computer-interaction-(hci)/e98687.json deleted file mode 100644 index ffb6b32..0000000 --- a/specifications/iit-guwahati/creative-design,-prototyping-&-experiential-simulation-in-human-computer-interaction-(hci)/e98687.json +++ /dev/null @@ -1,39 +0,0 @@ -{ - "experiment": { - "id": "e98687", - "name": "Weber's Law", - "discipline_id": "dsgn-engg", - "institute_id": "iitg", - "developers": [ - { - "name": "Prof. Pradeep Yammiyavar", - "email": "pradeep@iitg.ernet.in" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "cloud", - "hosted_url": "http://iitg.vlab.co.in/?sub=72&brch=170&sim=750&cnt=1" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Weber's Law", - "assets": [ - { - "asset_type": "sources", - "path": "https://github.com/Virtual-Labs/creative-design-prototyping-lab-iitg" - } - ], - "sections" : [ - "Theory", - "Objective", - "Procedure", - "Simulator", - "Quiz", - "Assignment", - "Reference", - "Feedback" - ] - } -} diff --git a/specifications/iit-guwahati/creative-design,-prototyping-&-experiential-simulation-in-human-computer-interaction-(hci)/e98688.json b/specifications/iit-guwahati/creative-design,-prototyping-&-experiential-simulation-in-human-computer-interaction-(hci)/e98688.json deleted file mode 100644 index 7b608c5..0000000 --- a/specifications/iit-guwahati/creative-design,-prototyping-&-experiential-simulation-in-human-computer-interaction-(hci)/e98688.json +++ /dev/null @@ -1,39 +0,0 @@ -{ - "experiment": { - "id": "e98688", - "name": "Serial Position Effect", - "discipline_id": "dsgn-engg", - "institute_id": "iitg", - "developers": [ - { - "name": "Prof. Pradeep Yammiyavar", - "email": "pradeep@iitg.ernet.in" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "cloud", - "hosted_url": "http://iitg.vlab.co.in/?sub=72&brch=170&sim=744&cnt=1" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Serial Position Effect", - "assets": [ - { - "asset_type": "sources", - "path": "https://github.com/Virtual-Labs/creative-design-prototyping-lab-iitg" - } - ], - "sections" : [ - "Theory", - "Objective", - "Procedure", - "Simulator", - "Quiz", - "Assignment", - "Reference", - "Feedback" - ] - } -} diff --git a/specifications/iit-guwahati/remote-triggered-electromechanical-conversion-laboratory/dump_json_to_lds.py b/specifications/iit-guwahati/remote-triggered-electromechanical-conversion-laboratory/dump_json_to_lds.py deleted file mode 100644 index 78c74fa..0000000 --- a/specifications/iit-guwahati/remote-triggered-electromechanical-conversion-laboratory/dump_json_to_lds.py +++ /dev/null @@ -1,44 +0,0 @@ - -import os -import os.path -import json -import requests -import glob - -URL= 'http://localhost:5000' -json_path_list = [] - -def post_lab_spec(file_path): - - with open(file_path) as json_file: - print file_path - data = json.load(json_file) - if 'lab' in data.keys(): - end_point = "/labs" - if 'experiment' in data.keys(): - end_point = "/experiments" - - data['key'] = 'defaultkey' - APP_URL = URL + end_point - headers = {'Content-Type': 'application/json'} - try: - response = requests.post(APP_URL, data = json.dumps(data), - headers=headers) - if response.status_code == 200: - print "Added json data : " + file_path - else: - print "Errore in adding json file " + file_path + " due to " + response.text - except Exception as e: - print str(e) -try: - exp_file_list = glob.glob(os.getcwd() + "/e9*.json") - lab_file_list = glob.glob(os.getcwd() + "/[!e9]*.json") - - for filename in exp_file_list: - json_path_list.append(filename) -except Exception as e: - print str(e) - -for file_path in json_path_list: - post_lab_spec(file_path) -post_lab_spec(lab_file_list[0]) diff --git a/specifications/iit-guwahati/remote-triggered-electromechanical-conversion-laboratory/e98699.json b/specifications/iit-guwahati/remote-triggered-electromechanical-conversion-laboratory/e98699.json deleted file mode 100644 index 2b84e09..0000000 --- a/specifications/iit-guwahati/remote-triggered-electromechanical-conversion-laboratory/e98699.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "experiment": { - "id": "e98699", - "name": "To obtain Torque Slip characteristics of three phase induction motor", - "discipline_id": "ee", - "institute_id": "iitg", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://iitg.vlab.co.in/?sub=61&brch=293&sim=1535&cnt=3635" - } - ], - "integration_level": 4, - "overview": "This experiments deals with To obtain Torque Slip characteristics of three phase induction motor", - "assets": [], - "sections" : [ - "Introduction", - "Theory", - "Procedure", - "Assignment", - "Feedback" - ] - } -} diff --git a/specifications/iit-guwahati/remote-triggered-electromechanical-conversion-laboratory/e98700.json b/specifications/iit-guwahati/remote-triggered-electromechanical-conversion-laboratory/e98700.json deleted file mode 100644 index 52c7804..0000000 --- a/specifications/iit-guwahati/remote-triggered-electromechanical-conversion-laboratory/e98700.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "experiment": { - "id": "e98700", - "name": "To perform Blocked Rotor test of three phase induction motor", - "discipline_id": "ee", - "institute_id": "iitg", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://iitg.vlab.co.in/?sub=61&brch=293&sim=1537&cnt=3634" - } - ], - "integration_level": 4, - "overview": "This experiments deals with To perform Blocked Rotor test of three phase induction motor", - "assets": [], - "sections" : [ - "Introduction", - "Theory", - "Procedure", - "Simulator", - "Assignment", - "Feedback" - ] - } -} diff --git a/specifications/iit-guwahati/remote-triggered-electromechanical-conversion-laboratory/e98701.json b/specifications/iit-guwahati/remote-triggered-electromechanical-conversion-laboratory/e98701.json deleted file mode 100644 index e4f34b0..0000000 --- a/specifications/iit-guwahati/remote-triggered-electromechanical-conversion-laboratory/e98701.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "experiment": { - "id": "e98701", - "name": "To perform No Load test of three phase induction motor", - "discipline_id": "ee", - "institute_id": "iitg", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://iitg.vlab.co.in/?sub=61&brch=293&sim=1536&cnt=3632" - } - ], - "integration_level": 4, - "overview": "This experiments deals with To perform No Load test of three phase induction motor", - "assets": [], - "sections" : [ - "Introduction", - "Theory", - "Procedure", - "Simulator", - "Solved Examples", - "Assignment", - "Feedback" - ] - } -} diff --git a/specifications/iit-guwahati/remote-triggered-electromechanical-conversion-laboratory/remote-triggered-electromechanical-conversion-laboratory.json b/specifications/iit-guwahati/remote-triggered-electromechanical-conversion-laboratory/remote-triggered-electromechanical-conversion-laboratory.json deleted file mode 100644 index 2db3333..0000000 --- a/specifications/iit-guwahati/remote-triggered-electromechanical-conversion-laboratory/remote-triggered-electromechanical-conversion-laboratory.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "lab": { - "id": "no_lab_id", - "name": "remote triggered electromechanical conversion laboratory", - "discipline_id": "ee", - "institute_id": "iitg", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://iitg.vlab.co.in/?sub=61&brch=293" - } - ], - "integration_level": 4, - "overview": "This lab deals with remote triggered electromechanical conversion laboratory", - "assets": [], - "sections": [ - { - "name": "Introduction" - }, - { - "experiments" : [ - "e98701", - "e98700", - "e98699" - ] - } - ] - } -} diff --git a/specifications/iit-guwahati/remote-triggered-fiber-optics-communication-lab/dump_json_to_lds.py b/specifications/iit-guwahati/remote-triggered-fiber-optics-communication-lab/dump_json_to_lds.py deleted file mode 100644 index 78c74fa..0000000 --- a/specifications/iit-guwahati/remote-triggered-fiber-optics-communication-lab/dump_json_to_lds.py +++ /dev/null @@ -1,44 +0,0 @@ - -import os -import os.path -import json -import requests -import glob - -URL= 'http://localhost:5000' -json_path_list = [] - -def post_lab_spec(file_path): - - with open(file_path) as json_file: - print file_path - data = json.load(json_file) - if 'lab' in data.keys(): - end_point = "/labs" - if 'experiment' in data.keys(): - end_point = "/experiments" - - data['key'] = 'defaultkey' - APP_URL = URL + end_point - headers = {'Content-Type': 'application/json'} - try: - response = requests.post(APP_URL, data = json.dumps(data), - headers=headers) - if response.status_code == 200: - print "Added json data : " + file_path - else: - print "Errore in adding json file " + file_path + " due to " + response.text - except Exception as e: - print str(e) -try: - exp_file_list = glob.glob(os.getcwd() + "/e9*.json") - lab_file_list = glob.glob(os.getcwd() + "/[!e9]*.json") - - for filename in exp_file_list: - json_path_list.append(filename) -except Exception as e: - print str(e) - -for file_path in json_path_list: - post_lab_spec(file_path) -post_lab_spec(lab_file_list[0]) diff --git a/specifications/iit-guwahati/remote-triggered-fiber-optics-communication-lab/e98667.json b/specifications/iit-guwahati/remote-triggered-fiber-optics-communication-lab/e98667.json deleted file mode 100644 index 2e81279..0000000 --- a/specifications/iit-guwahati/remote-triggered-fiber-optics-communication-lab/e98667.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "experiment": { - "id": "e98667", - "name": "Study Of LED and Detector Characteristics", - "discipline_id": "ece", - "institute_id": "iitg", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://iitg.vlab.co.in/?sub=59&brch=269&sim=1371&cnt=3512" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Study Of LED and Detector Characteristics", - "assets": [], - "sections" : [ - "Introduction", - "Theory", - "Set up", - "Procedure", - "Experiment", - "Animation", - "WebCam", - "Quiz", - "Feedback" - ] - } -} diff --git a/specifications/iit-guwahati/remote-triggered-fiber-optics-communication-lab/e98668.json b/specifications/iit-guwahati/remote-triggered-fiber-optics-communication-lab/e98668.json deleted file mode 100644 index 7f89b57..0000000 --- a/specifications/iit-guwahati/remote-triggered-fiber-optics-communication-lab/e98668.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "experiment": { - "id": "e98668", - "name": "Measurement Of Numerical Aperture", - "discipline_id": "ece", - "institute_id": "iitg", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://iitg.vlab.co.in/?sub=59&brch=269&sim=1370&cnt=3465" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Measurement Of Numerical Aperture", - "assets": [], - "sections" : [ - "Introduction", - "Theory", - "Set up", - "Experiment", - "Animation", - "Quiz", - "Feedback" - ] - } -} diff --git a/specifications/iit-guwahati/remote-triggered-fiber-optics-communication-lab/e98669.json b/specifications/iit-guwahati/remote-triggered-fiber-optics-communication-lab/e98669.json deleted file mode 100644 index b94e848..0000000 --- a/specifications/iit-guwahati/remote-triggered-fiber-optics-communication-lab/e98669.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "experiment": { - "id": "e98669", - "name": "Measurement Of Bending Losses in Optical Fiber", - "discipline_id": "ece", - "institute_id": "iitg", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://iitg.vlab.co.in/?sub=59&brch=269&sim=1369&cnt=2873" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Measurement Of Bending Losses in Optical Fiber", - "assets": [], - "sections" : [ - "Introduction", - "Theory", - "Set Up", - "Procedure", - "Experiment", - "Animation", - "Quiz", - "Feedback" - ] - } -} diff --git a/specifications/iit-guwahati/remote-triggered-fiber-optics-communication-lab/e98670.json b/specifications/iit-guwahati/remote-triggered-fiber-optics-communication-lab/e98670.json deleted file mode 100644 index 918e1ef..0000000 --- a/specifications/iit-guwahati/remote-triggered-fiber-optics-communication-lab/e98670.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "experiment": { - "id": "e98670", - "name": "Wavelength Division Multiplexing", - "discipline_id": "ece", - "institute_id": "iitg", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://iitg.vlab.co.in/?sub=59&brch=269&sim=1373&cnt=3289" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Wavelength Division Multiplexing", - "assets": [], - "sections" : [ - "Introduction", - "Theory", - "Procedure", - "Experiment", - "Animation", - "Quiz", - "Feedback" - ] - } -} diff --git a/specifications/iit-guwahati/remote-triggered-fiber-optics-communication-lab/e98671.json b/specifications/iit-guwahati/remote-triggered-fiber-optics-communication-lab/e98671.json deleted file mode 100644 index 1dc3709..0000000 --- a/specifications/iit-guwahati/remote-triggered-fiber-optics-communication-lab/e98671.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "experiment": { - "id": "e98671", - "name": "Fiber Optic Bi-directional Communication", - "discipline_id": "ece", - "institute_id": "iitg", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://iitg.vlab.co.in/?sub=59&brch=269&sim=1372&cnt=3055" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Fiber Optic Bi-directional Communication", - "assets": [], - "sections" : [ - "Introduction", - "Theory", - "Procedure", - "Experiment", - "Animation", - "Quiz", - "Feedback" - ] - } -} diff --git a/specifications/iit-guwahati/remote-triggered-fiber-optics-communication-lab/e98672.json b/specifications/iit-guwahati/remote-triggered-fiber-optics-communication-lab/e98672.json deleted file mode 100644 index 7cae8a4..0000000 --- a/specifications/iit-guwahati/remote-triggered-fiber-optics-communication-lab/e98672.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "experiment": { - "id": "e98672", - "name": "Fiber Optic Analog and Digital Link", - "discipline_id": "ece", - "institute_id": "iitg", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://iitg.vlab.co.in/?sub=59&brch=269&sim=1317&cnt=2780" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Fiber Optic Analog and Digital Link", - "assets": [], - "sections" : [ - "Introduction", - "Theory", - "Set Up", - "Procedure", - "Experiment", - "Animation", - "Quiz", - "Feedback" - ] - } -} diff --git a/specifications/iit-guwahati/remote-triggered-fiber-optics-communication-lab/remote-triggered-fiber-optics-communication-lab.json b/specifications/iit-guwahati/remote-triggered-fiber-optics-communication-lab/remote-triggered-fiber-optics-communication-lab.json deleted file mode 100644 index ccec6ce..0000000 --- a/specifications/iit-guwahati/remote-triggered-fiber-optics-communication-lab/remote-triggered-fiber-optics-communication-lab.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "lab": { - "id": "ece29", - "name": "remote triggered fiber optics communication lab", - "discipline_id": "ece", - "institute_id": "iitg", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://iitg.vlab.co.in/?sub=59&brch=269" - } - ], - "integration_level": 4, - "overview": "This lab deals with remote triggered fiber optics communication lab", - "assets": [], - "sections": [ - { - "name": "Introduction" - }, - { - "experiments" : [ - "e98672", - "e98671", - "e98670", - "e98669", - "e98668", - "e98667" - ] - } - ] - } -} diff --git a/specifications/iit-guwahati/speech-signal-processing-laboratory/dump_json_to_lds.py b/specifications/iit-guwahati/speech-signal-processing-laboratory/dump_json_to_lds.py deleted file mode 100644 index 78c74fa..0000000 --- a/specifications/iit-guwahati/speech-signal-processing-laboratory/dump_json_to_lds.py +++ /dev/null @@ -1,44 +0,0 @@ - -import os -import os.path -import json -import requests -import glob - -URL= 'http://localhost:5000' -json_path_list = [] - -def post_lab_spec(file_path): - - with open(file_path) as json_file: - print file_path - data = json.load(json_file) - if 'lab' in data.keys(): - end_point = "/labs" - if 'experiment' in data.keys(): - end_point = "/experiments" - - data['key'] = 'defaultkey' - APP_URL = URL + end_point - headers = {'Content-Type': 'application/json'} - try: - response = requests.post(APP_URL, data = json.dumps(data), - headers=headers) - if response.status_code == 200: - print "Added json data : " + file_path - else: - print "Errore in adding json file " + file_path + " due to " + response.text - except Exception as e: - print str(e) -try: - exp_file_list = glob.glob(os.getcwd() + "/e9*.json") - lab_file_list = glob.glob(os.getcwd() + "/[!e9]*.json") - - for filename in exp_file_list: - json_path_list.append(filename) -except Exception as e: - print str(e) - -for file_path in json_path_list: - post_lab_spec(file_path) -post_lab_spec(lab_file_list[0]) diff --git a/specifications/iit-guwahati/speech-signal-processing-laboratory/e98647.json b/specifications/iit-guwahati/speech-signal-processing-laboratory/e98647.json deleted file mode 100644 index f17dcd0..0000000 --- a/specifications/iit-guwahati/speech-signal-processing-laboratory/e98647.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "experiment": { - "id": "e98647", - "name": "Voice Activity Detection In Speech", - "discipline_id": "ece", - "institute_id": "iitg", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://iitg.vlab.co.in/?sub=59&brch=164&sim=1399&cnt=2950" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Voice Activity Detection In Speech", - "assets": [ - { - "asset_type": "sources", - "path": "https://github.com/Virtual-Labs/speech-signal-processing-laboratory-iitg" - } - ], - "sections" : [ - "Aim", - "Theory", - "Procedure", - "Pre Quiz", - "Simulator", - "Post Quiz", - "Assignment", - "Reference", - "Feedback" - ] - } -} diff --git a/specifications/iit-guwahati/speech-signal-processing-laboratory/e98648.json b/specifications/iit-guwahati/speech-signal-processing-laboratory/e98648.json deleted file mode 100644 index dd2c756..0000000 --- a/specifications/iit-guwahati/speech-signal-processing-laboratory/e98648.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "experiment": { - "id": "e98648", - "name": "Estimation Of Formants From Speech Signals", - "discipline_id": "ece", - "institute_id": "iitg", - "developers": [ - { - "name": "S.R.M Prasanna", - "email": "prasanna@iitg.ernet.in" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://iitg.vlab.co.in/?sub=59&brch=164&sim=1398&cnt=2931" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Estimation Of Formants From Speech Signals", - "assets": [ - { - "asset_type": "sources", - "path": "https://github.com/Virtual-Labs/speech-signal-processing-laboratory-iitg" - } - ], - "sections" : [ - "Aim", - "Theory", - "Procedure", - "Pre Quiz", - "Simulator", - "Post Quiz", - "Assignment", - "Reference", - "Feedback" - ] - } -} diff --git a/specifications/iit-guwahati/speech-signal-processing-laboratory/e98649.json b/specifications/iit-guwahati/speech-signal-processing-laboratory/e98649.json deleted file mode 100644 index af4f27e..0000000 --- a/specifications/iit-guwahati/speech-signal-processing-laboratory/e98649.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "experiment": { - "id": "e98649", - "name": "Estimation Of Pitch From Speech Signals", - "discipline_id": "ece", - "institute_id": "iitg", - "developers": [ - { - "name": "S.R.M Prasanna", - "email": "prasanna@iitg.ernet.in" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://iitg.vlab.co.in/?sub=59&brch=164&sim=1012&cnt=1848" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Estimation Of Pitch From Speech Signals", - "assets": [ - { - "asset_type": "sources", - "path": "https://github.com/Virtual-Labs/speech-signal-processing-laboratory-iitg" - } - ], - "sections" : [ - "Aim", - "Theory", - "Procedure", - "Simulation", - "Quiz", - "Assignment", - "Slot Booking", - "Reference", - "Feedback" - ] - } -} diff --git a/specifications/iit-guwahati/speech-signal-processing-laboratory/e98650.json b/specifications/iit-guwahati/speech-signal-processing-laboratory/e98650.json deleted file mode 100644 index 477612b..0000000 --- a/specifications/iit-guwahati/speech-signal-processing-laboratory/e98650.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "experiment": { - "id": "e98650", - "name": "Linear Prediction Analysis", - "discipline_id": "ece", - "institute_id": "iitg", - "developers": [ - { - "name": "S.R.M Prasanna", - "email": "prasanna@iitg.ernet.in" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://iitg.vlab.co.in/?sub=59&brch=164&sim=616&cnt=1088" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Linear Prediction Analysis", - "assets": [ - { - "asset_type": "sources", - "path": "https://github.com/Virtual-Labs/speech-signal-processing-laboratory-iitg" - } - ], - "sections" : [ - "Aim", - "Theory", - "Procedure", - "Simulation", - "Quiz", - "Assignment", - "Slot Booking", - "Reference", - "Feedback" - ] - } -} diff --git a/specifications/iit-guwahati/speech-signal-processing-laboratory/e98651.json b/specifications/iit-guwahati/speech-signal-processing-laboratory/e98651.json deleted file mode 100644 index d482a9d..0000000 --- a/specifications/iit-guwahati/speech-signal-processing-laboratory/e98651.json +++ /dev/null @@ -1,41 +0,0 @@ -{ - "experiment": { - "id": "e98651", - "name": "Cepstral Analysis of Speech", - "discipline_id": "ece", - "institute_id": "iitg", - "developers": [ - { - "name": "S.R.M Prasanna", - "email": "prasanna@iitg.ernet.in" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://iitg.vlab.co.in/?sub=59&brch=164&sim=615&cnt=1107" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Cepstral Analysis of Speech", - "assets": [ - { - "asset_type": "sources", - "path": "https://github.com/Virtual-Labs/speech-signal-processing-laboratory-iitg" - } - ], - "sections" : [ - "Aim", - "Theory", - "Procedure", - "Pre Quiz", - "Simulation", - "Post Quiz", - "Assignment", - "Slot Booking", - "Reference", - "Feedback" - ] - } -} diff --git a/specifications/iit-guwahati/speech-signal-processing-laboratory/e98652.json b/specifications/iit-guwahati/speech-signal-processing-laboratory/e98652.json deleted file mode 100644 index 50530af..0000000 --- a/specifications/iit-guwahati/speech-signal-processing-laboratory/e98652.json +++ /dev/null @@ -1,41 +0,0 @@ -{ - "experiment": { - "id": "e98652", - "name": "Short-Term Frequency Domain Processing of Speech", - "discipline_id": "ece", - "institute_id": "iitg", - "developers": [ - { - "name": "S.R.M Prasanna", - "email": "prasanna@iitg.ernet.in" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://iitg.vlab.co.in/?sub=59&brch=164&sim=908&cnt=1676" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Short-Term Frequency Domain Processing of Speech", - "assets": [ - { - "asset_type": "sources", - "path": "https://github.com/Virtual-Labs/speech-signal-processing-laboratory-iitg" - } - ], - "sections" : [ - "Aim", - "Theory", - "Procedure", - "Pre Quiz", - "Simulation", - "Post Quiz", - "Assignment", - "Slot Booking", - "Reference", - "Feedback" - ] - } -} diff --git a/specifications/iit-guwahati/speech-signal-processing-laboratory/e98653.json b/specifications/iit-guwahati/speech-signal-processing-laboratory/e98653.json deleted file mode 100644 index 2b86a64..0000000 --- a/specifications/iit-guwahati/speech-signal-processing-laboratory/e98653.json +++ /dev/null @@ -1,41 +0,0 @@ -{ - "experiment": { - "id": "e98653", - "name": "Short Term Time Domain Processing of Speech", - "discipline_id": "ece", - "institute_id": "iitg", - "developers": [ - { - "name": "S.R.M Prasanna", - "email": "prasanna@iitg.ernet.in" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://iitg.vlab.co.in/?sub=59&brch=164&sim=857&cnt=1650" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Short Term Time Domain Processing of Speech", - "assets": [ - { - "asset_type": "sources", - "path": "https://github.com/Virtual-Labs/speech-signal-processing-laboratory-iitg" - } - ], - "sections" : [ - "Aim", - "Theory", - "Procedure", - "Pre Quiz", - "Simulation", - "Post Quiz", - "Assignment", - "Slot Booking", - "Reference", - "Feedback" - ] - } -} diff --git a/specifications/iit-guwahati/speech-signal-processing-laboratory/e98654.json b/specifications/iit-guwahati/speech-signal-processing-laboratory/e98654.json deleted file mode 100644 index ce2917f..0000000 --- a/specifications/iit-guwahati/speech-signal-processing-laboratory/e98654.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "experiment": { - "id": "e98654", - "name": "Different Sounds In Language", - "discipline_id": "ece", - "institute_id": "iitg", - "developers": [ - { - "name": "S.R.M Prasanna", - "email": "prasanna@iitg.ernet.in" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://iitg.vlab.co.in/?sub=59&brch=164&sim=614&cnt=1114" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Different Sounds In Language", - "assets": [ - { - "asset_type": "sources", - "path": "https://github.com/Virtual-Labs/speech-signal-processing-laboratory-iitg" - } - ], - "sections" : [ - "Aim", - "Theory", - "Procedure", - "Simulation", - "Post Quiz", - "Assignment", - "Slot Booking", - "Reference", - "Feedback" - ] - } -} diff --git a/specifications/iit-guwahati/speech-signal-processing-laboratory/e98655.json b/specifications/iit-guwahati/speech-signal-processing-laboratory/e98655.json deleted file mode 100644 index ad2b4d3..0000000 --- a/specifications/iit-guwahati/speech-signal-processing-laboratory/e98655.json +++ /dev/null @@ -1,41 +0,0 @@ -{ - "experiment": { - "id": "e98655", - "name": "Identification of Voice/Unvoiced/Silence regions of Speech", - "discipline_id": "ece", - "institute_id": "iitg", - "developers": [ - { - "name": "S.R.M Prasanna", - "email": "prasanna@iitg.ernet.in" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://iitg.vlab.co.in/?sub=59&brch=164&sim=613&cnt=1106" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Identification of Voice/Unvoiced/Silence regions of Speech", - "assets": [ - { - "asset_type": "sources", - "path": "https://github.com/Virtual-Labs/speech-signal-processing-laboratory-iitg" - } - ], - "sections" : [ - "Aim", - "Theory", - "Procedure", - "Pre Quiz", - "Simulation", - "Post quiz", - "Assignment", - "Slot Booking", - "Reference", - "Feedback" - ] - } -} diff --git a/specifications/iit-guwahati/speech-signal-processing-laboratory/e98656.json b/specifications/iit-guwahati/speech-signal-processing-laboratory/e98656.json deleted file mode 100644 index 66aa525..0000000 --- a/specifications/iit-guwahati/speech-signal-processing-laboratory/e98656.json +++ /dev/null @@ -1,41 +0,0 @@ -{ - "experiment": { - "id": "e98656", - "name": "Sampling Frequency and Bit Resolution for Speech Signal Processing", - "discipline_id": "ece", - "institute_id": "iitg", - "developers": [ - { - "name": "S.R.M Prasanna", - "email": "prasanna@iitg.ernet.in" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://iitg.vlab.co.in/?sub=59&brch=164&sim=474&cnt=1105" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Sampling Frequency and Bit Resolution for Speech Signal Processing", - "assets": [ - { - "asset_type": "sources", - "path": "https://github.com/Virtual-Labs/speech-signal-processing-laboratory-iitg" - } - ], - "sections" : [ - "Aim", - "Theory", - "Procedure", - "Pre Quiz", - "Simulation", - "Post quiz", - "Assignment", - "Slot Booking", - "Reference", - "Feedback" - ] - } -} diff --git a/specifications/iit-guwahati/speech-signal-processing-laboratory/e98657.json b/specifications/iit-guwahati/speech-signal-processing-laboratory/e98657.json deleted file mode 100644 index 7ce77db..0000000 --- a/specifications/iit-guwahati/speech-signal-processing-laboratory/e98657.json +++ /dev/null @@ -1,41 +0,0 @@ -{ - "experiment": { - "id": "e98657", - "name": "Non-Stationary Nature of Speech Signal", - "discipline_id": "ece", - "institute_id": "iitg", - "developers": [ - { - "name": "S.R.M Prasanna", - "email": "prasanna@iitg.ernet.in" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://iitg.vlab.co.in/?sub=59&brch=164&sim=371&cnt=1103" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Non-Stationary Nature of Speech Signal", - "assets": [ - { - "asset_type": "sources", - "path": "https://github.com/Virtual-Labs/speech-signal-processing-laboratory-iitg" - } - ], - "sections" : [ - "Aim", - "Theory", - "Procedure", - "Pre Quiz", - "Simulation", - "Post Quiz", - "Assignment", - "Slot Booking", - "Reference", - "Feedback" - ] - } -} diff --git a/specifications/iit-guwahati/speech-signal-processing-laboratory/speech-signal-processing-laboratory.json b/specifications/iit-guwahati/speech-signal-processing-laboratory/speech-signal-processing-laboratory.json deleted file mode 100644 index 8473098..0000000 --- a/specifications/iit-guwahati/speech-signal-processing-laboratory/speech-signal-processing-laboratory.json +++ /dev/null @@ -1,49 +0,0 @@ -{ - "lab": { - "id": "ece01", - "name": "speech signal processing laboratory", - "discipline_id": "ece", - "institute_id": "iitg", - "developers": [ - { - "name": "S.R.M Prasanna", - "email": "prasanna@iitg.ernet.in" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://iitg.vlab.co.in/?sub=59&brch=164" - } - ], - "integration_level": 4, - "overview": "This lab deals with speech signal processing laboratory", - "assets": [ - { - "asset_type": "sources", - "path": "https://github.com/Virtual-Labs/speech-signal-processing-laboratory-iitg" - } - ], - "sections": [ - { - "name": "Introduction" - }, - { - "experiments" : [ - "e98657", - "e98656", - "e98655", - "e98654", - "e98653", - "e98652", - "e98651", - "e98650", - "e98649", - "e98648", - "e98647" - ] - } - ] - } -} diff --git a/specifications/iit-guwahati/systems,-communication-and-control-laboratory/dump_json_to_lds.py b/specifications/iit-guwahati/systems,-communication-and-control-laboratory/dump_json_to_lds.py deleted file mode 100644 index 78c74fa..0000000 --- a/specifications/iit-guwahati/systems,-communication-and-control-laboratory/dump_json_to_lds.py +++ /dev/null @@ -1,44 +0,0 @@ - -import os -import os.path -import json -import requests -import glob - -URL= 'http://localhost:5000' -json_path_list = [] - -def post_lab_spec(file_path): - - with open(file_path) as json_file: - print file_path - data = json.load(json_file) - if 'lab' in data.keys(): - end_point = "/labs" - if 'experiment' in data.keys(): - end_point = "/experiments" - - data['key'] = 'defaultkey' - APP_URL = URL + end_point - headers = {'Content-Type': 'application/json'} - try: - response = requests.post(APP_URL, data = json.dumps(data), - headers=headers) - if response.status_code == 200: - print "Added json data : " + file_path - else: - print "Errore in adding json file " + file_path + " due to " + response.text - except Exception as e: - print str(e) -try: - exp_file_list = glob.glob(os.getcwd() + "/e9*.json") - lab_file_list = glob.glob(os.getcwd() + "/[!e9]*.json") - - for filename in exp_file_list: - json_path_list.append(filename) -except Exception as e: - print str(e) - -for file_path in json_path_list: - post_lab_spec(file_path) -post_lab_spec(lab_file_list[0]) diff --git a/specifications/iit-guwahati/systems,-communication-and-control-laboratory/e98689.json b/specifications/iit-guwahati/systems,-communication-and-control-laboratory/e98689.json deleted file mode 100644 index 7184881..0000000 --- a/specifications/iit-guwahati/systems,-communication-and-control-laboratory/e98689.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "experiment": { - "id": "e98689", - "name": "Vertical take Off and landing (currently offline: Experiment will be available on request)", - "discipline_id": "ece", - "institute_id": "iitg", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://iitg.vlab.co.in/?sub=59&brch=163&sim=264&cnt=1041" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Vertical take Off and landing (currently offline: Experiment will be available on request)", - "assets": [], - "sections" : [ - "VTOL HOME", - "Theory", - "Procedure", - "Experiment", - "Guide", - "Manual", - "Feedback", - "Webcam" - ] - } -} diff --git a/specifications/iit-guwahati/systems,-communication-and-control-laboratory/e98690.json b/specifications/iit-guwahati/systems,-communication-and-control-laboratory/e98690.json deleted file mode 100644 index 7e80f05..0000000 --- a/specifications/iit-guwahati/systems,-communication-and-control-laboratory/e98690.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "experiment": { - "id": "e98690", - "name": "Control of Inverted Pendulum System (Real Time)", - "discipline_id": "ece", - "institute_id": "iitg", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://iitg.vlab.co.in/?sub=59&brch=163&sim=555&cnt=1024" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Control of Inverted Pendulum System (Real Time)", - "assets": [], - "sections" : [ - "Introduction", - "Theory", - "Procedure", - "Experiment", - "Webcam", - "Slot Booking Procedure", - "Feedback" - ] - } -} diff --git a/specifications/iit-guwahati/systems,-communication-and-control-laboratory/e98691.json b/specifications/iit-guwahati/systems,-communication-and-control-laboratory/e98691.json deleted file mode 100644 index 184685d..0000000 --- a/specifications/iit-guwahati/systems,-communication-and-control-laboratory/e98691.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "experiment": { - "id": "e98691", - "name": "Realization of different modulation schemes using I/Q modulators", - "discipline_id": "ece", - "institute_id": "iitg", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://iitg.vlab.co.in/?sub=59&brch=163&sim=611&cnt=1084" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Realization of different modulation schemes using I/Q modulators", - "assets": [], - "sections" : [ - "Introduction", - "Theory", - "Procedure", - "Simulator", - "Slot Booking Procedure", - "Feedback" - ] - } -} diff --git a/specifications/iit-guwahati/systems,-communication-and-control-laboratory/e98692.json b/specifications/iit-guwahati/systems,-communication-and-control-laboratory/e98692.json deleted file mode 100644 index 3065b52..0000000 --- a/specifications/iit-guwahati/systems,-communication-and-control-laboratory/e98692.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "experiment": { - "id": "e98692", - "name": "Simple Inverted Pendulum System", - "discipline_id": "ece", - "institute_id": "iitg", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://iitg.vlab.co.in/?sub=59&brch=163&sim=612&cnt=1086" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Simple Inverted Pendulum System", - "assets": [], - "sections" : [ - "Introduction", - "Theory", - "Procedure", - "Simulator", - "QUIZ", - "Slot Booking Procedure", - "Feedback" - ] - } -} diff --git a/specifications/iit-guwahati/systems,-communication-and-control-laboratory/e98693.json b/specifications/iit-guwahati/systems,-communication-and-control-laboratory/e98693.json deleted file mode 100644 index f41e9ea..0000000 --- a/specifications/iit-guwahati/systems,-communication-and-control-laboratory/e98693.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "experiment": { - "id": "e98693", - "name": "QPSK Modulation (Real time experiment)", - "discipline_id": "ece", - "institute_id": "iitg", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://iitg.vlab.co.in/?sub=59&brch=163&sim=1065&cnt=2404" - } - ], - "integration_level": 4, - "overview": "This experiments deals with QPSK Modulation (Real time experiment)", - "assets": [], - "sections" : [ - "Introduction", - "Theory", - "Procedure", - "Experiment", - "Webcam", - "QUIZ", - "Slot Booking Procedure", - "Feedback" - ] - } -} diff --git a/specifications/iit-guwahati/systems,-communication-and-control-laboratory/e98694.json b/specifications/iit-guwahati/systems,-communication-and-control-laboratory/e98694.json deleted file mode 100644 index 4c5167e..0000000 --- a/specifications/iit-guwahati/systems,-communication-and-control-laboratory/e98694.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "experiment": { - "id": "e98694", - "name": "Amplitude Modulation and Demodulation (Real time experiment)", - "discipline_id": "ece", - "institute_id": "iitg", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://iitg.vlab.co.in/?sub=59&brch=163&sim=259&cnt=358" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Amplitude Modulation and Demodulation (Real time experiment)", - "assets": [], - "sections" : [ - "Introduction", - "Theory", - "Set Up", - "Procedure", - "Experiment", - "Webcam", - "Quiz", - "Slot Booking Procedure", - "Feedback" - ] - } -} diff --git a/specifications/iit-guwahati/systems,-communication-and-control-laboratory/e98695.json b/specifications/iit-guwahati/systems,-communication-and-control-laboratory/e98695.json deleted file mode 100644 index b0eda11..0000000 --- a/specifications/iit-guwahati/systems,-communication-and-control-laboratory/e98695.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "experiment": { - "id": "e98695", - "name": "BPSK Modulation and Demodulation(Real time experiment)", - "discipline_id": "ece", - "institute_id": "iitg", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://iitg.vlab.co.in/?sub=59&brch=163&sim=262&cnt=970" - } - ], - "integration_level": 4, - "overview": "This experiments deals with BPSK Modulation and Demodulation(Real time experiment)", - "assets": [], - "sections" : [ - "Introduction", - "Theory", - "Setup", - "Procedure", - "Experiment", - "Webcam", - "Quiz", - "Slot Booking procedure", - "Feedback" - ] - } -} diff --git a/specifications/iit-guwahati/systems,-communication-and-control-laboratory/e98696.json b/specifications/iit-guwahati/systems,-communication-and-control-laboratory/e98696.json deleted file mode 100644 index f2bcce9..0000000 --- a/specifications/iit-guwahati/systems,-communication-and-control-laboratory/e98696.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "experiment": { - "id": "e98696", - "name": "Frequency Modulation(Simulation experiment)", - "discipline_id": "ece", - "institute_id": "iitg", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://iitg.vlab.co.in/?sub=59&brch=163&sim=261&cnt=474" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Frequency Modulation(Simulation experiment)", - "assets": [], - "sections" : [ - "Introduction", - "Theory", - "Procedure", - "Experiment", - "Quiz", - "Slot Booking Procedure", - "Feedback" - ] - } -} diff --git a/specifications/iit-guwahati/systems,-communication-and-control-laboratory/e98697.json b/specifications/iit-guwahati/systems,-communication-and-control-laboratory/e98697.json deleted file mode 100644 index 2a20b9a..0000000 --- a/specifications/iit-guwahati/systems,-communication-and-control-laboratory/e98697.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "experiment": { - "id": "e98697", - "name": "BPSK Modulation and Demodulation(Simulation experiment)", - "discipline_id": "ece", - "institute_id": "iitg", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://iitg.vlab.co.in/?sub=59&brch=163&sim=263&cnt=2407" - } - ], - "integration_level": 4, - "overview": "This experiments deals with BPSK Modulation and Demodulation(Simulation experiment)", - "assets": [], - "sections" : [ - "Introduction", - "Theory", - "Procedure", - "Experiment", - "Videos", - "Slot Booking Procedure", - "Feedback" - ] - } -} diff --git a/specifications/iit-guwahati/systems,-communication-and-control-laboratory/e98698.json b/specifications/iit-guwahati/systems,-communication-and-control-laboratory/e98698.json deleted file mode 100644 index f486bbf..0000000 --- a/specifications/iit-guwahati/systems,-communication-and-control-laboratory/e98698.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "experiment": { - "id": "e98698", - "name": "Amplitude Modulation (Simulation experiment)", - "discipline_id": "ece", - "institute_id": "iitg", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://iitg.vlab.co.in/?sub=59&brch=163&sim=260&cnt=2644" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Amplitude Modulation (Simulation experiment)", - "assets": [], - "sections" : [ - "Introduction", - "Theory", - "Procedure", - "Experiment", - "Slot Booking Procedure", - "Feedback" - ] - } -} diff --git a/specifications/iit-guwahati/systems,-communication-and-control-laboratory/systems,-communication-and-control-laboratory.json b/specifications/iit-guwahati/systems,-communication-and-control-laboratory/systems,-communication-and-control-laboratory.json deleted file mode 100644 index 066579f..0000000 --- a/specifications/iit-guwahati/systems,-communication-and-control-laboratory/systems,-communication-and-control-laboratory.json +++ /dev/null @@ -1,38 +0,0 @@ -{ - "lab": { - "id": "ece11", - "name": "systems, communication and control laboratory", - "discipline_id": "ece", - "institute_id": "iitg", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://iitg.vlab.co.in/?sub=59&brch=163" - } - ], - "integration_level": 4, - "overview": "This lab deals with systems, communication and control laboratory", - "assets": [], - "sections": [ - { - "name": "Introduction" - }, - { - "experiments" : [ - "e98698", - "e98697", - "e98696", - "e98695", - "e98694", - "e98693", - "e98692", - "e98691", - "e98690", - "e98689" - ] - } - ] - } -} diff --git a/specifications/iit-guwahati/virtual-interactive-lab/dump_json_to_lds.py b/specifications/iit-guwahati/virtual-interactive-lab/dump_json_to_lds.py deleted file mode 100644 index 78c74fa..0000000 --- a/specifications/iit-guwahati/virtual-interactive-lab/dump_json_to_lds.py +++ /dev/null @@ -1,44 +0,0 @@ - -import os -import os.path -import json -import requests -import glob - -URL= 'http://localhost:5000' -json_path_list = [] - -def post_lab_spec(file_path): - - with open(file_path) as json_file: - print file_path - data = json.load(json_file) - if 'lab' in data.keys(): - end_point = "/labs" - if 'experiment' in data.keys(): - end_point = "/experiments" - - data['key'] = 'defaultkey' - APP_URL = URL + end_point - headers = {'Content-Type': 'application/json'} - try: - response = requests.post(APP_URL, data = json.dumps(data), - headers=headers) - if response.status_code == 200: - print "Added json data : " + file_path - else: - print "Errore in adding json file " + file_path + " due to " + response.text - except Exception as e: - print str(e) -try: - exp_file_list = glob.glob(os.getcwd() + "/e9*.json") - lab_file_list = glob.glob(os.getcwd() + "/[!e9]*.json") - - for filename in exp_file_list: - json_path_list.append(filename) -except Exception as e: - print str(e) - -for file_path in json_path_list: - post_lab_spec(file_path) -post_lab_spec(lab_file_list[0]) diff --git a/specifications/iit-guwahati/virtual-interactive-lab/e98658.json b/specifications/iit-guwahati/virtual-interactive-lab/e98658.json deleted file mode 100644 index 7914c2c..0000000 --- a/specifications/iit-guwahati/virtual-interactive-lab/e98658.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "experiment": { - "id": "e98658", - "name": "Lab Staff and Contributors (not an experiment)", - "discipline_id": "hmt", - "institute_id": "iitg", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://iitg.vlab.co.in/?sub=72&brch=169&sim=1052&cnt=1929" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Lab Staff and Contributors (not an experiment)", - "assets": [], - "sections" : [ - "People" - ] - } -} diff --git a/specifications/iit-guwahati/virtual-interactive-lab/e98659.json b/specifications/iit-guwahati/virtual-interactive-lab/e98659.json deleted file mode 100644 index 4c1988e..0000000 --- a/specifications/iit-guwahati/virtual-interactive-lab/e98659.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "experiment": { - "id": "e98659", - "name": "The Rare Periodicals Archive", - "discipline_id": "hmt", - "institute_id": "iitg", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://iitg.vlab.co.in/?sub=72&brch=169&sim=832&cnt=1" - } - ], - "integration_level": 4, - "overview": "This experiments deals with The Rare Periodicals Archive", - "assets": [], - "sections" : [ - "Theory", - "Procedure", - "Periodicals", - "Feedback" - ] - } -} diff --git a/specifications/iit-guwahati/virtual-interactive-lab/e98660.json b/specifications/iit-guwahati/virtual-interactive-lab/e98660.json deleted file mode 100644 index 8da4350..0000000 --- a/specifications/iit-guwahati/virtual-interactive-lab/e98660.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "experiment": { - "id": "e98660", - "name": "The Northeast Illustrated Bibliography", - "discipline_id": "hmt", - "institute_id": "iitg", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://iitg.vlab.co.in/?sub=72&brch=169&sim=810&cnt=1" - } - ], - "integration_level": 4, - "overview": "This experiments deals with The Northeast Illustrated Bibliography", - "assets": [], - "sections" : [ - "Theory", - "NE Bibliography", - "Feedback" - ] - } -} diff --git a/specifications/iit-guwahati/virtual-interactive-lab/e98661.json b/specifications/iit-guwahati/virtual-interactive-lab/e98661.json deleted file mode 100644 index 9f09f2e..0000000 --- a/specifications/iit-guwahati/virtual-interactive-lab/e98661.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "experiment": { - "id": "e98661", - "name": "The Advertisements Archive", - "discipline_id": "hmt", - "institute_id": "iitg", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://iitg.vlab.co.in/?sub=72&brch=169&sim=825&cnt=1" - } - ], - "integration_level": 4, - "overview": "This experiments deals with The Advertisements Archive", - "assets": [], - "sections" : [ - "Theory", - "Procedure", - "Advertisements", - "Reference", - "Feedback" - ] - } -} diff --git a/specifications/iit-guwahati/virtual-interactive-lab/e98662.json b/specifications/iit-guwahati/virtual-interactive-lab/e98662.json deleted file mode 100644 index cf042d4..0000000 --- a/specifications/iit-guwahati/virtual-interactive-lab/e98662.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "experiment": { - "id": "e98662", - "name": "Northeast Expert Zone", - "discipline_id": "hmt", - "institute_id": "iitg", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://iitg.vlab.co.in/?sub=72&brch=169&sim=830&cnt=1863" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Northeast Expert Zone", - "assets": [], - "sections" : [ - "Theory", - "Procedure", - "Lecture Videos", - "Feedback" - ] - } -} diff --git a/specifications/iit-guwahati/virtual-interactive-lab/e98663.json b/specifications/iit-guwahati/virtual-interactive-lab/e98663.json deleted file mode 100644 index 2e1944c..0000000 --- a/specifications/iit-guwahati/virtual-interactive-lab/e98663.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "experiment": { - "id": "e98663", - "name": "Miscellaneous Books Archive", - "discipline_id": "hmt", - "institute_id": "iitg", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://iitg.vlab.co.in/?sub=72&brch=169&sim=1034&cnt=1876" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Miscellaneous Books Archive", - "assets": [], - "sections" : [ - "Archive", - "Feedback" - ] - } -} diff --git a/specifications/iit-guwahati/virtual-interactive-lab/e98664.json b/specifications/iit-guwahati/virtual-interactive-lab/e98664.json deleted file mode 100644 index c8f88a6..0000000 --- a/specifications/iit-guwahati/virtual-interactive-lab/e98664.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "experiment": { - "id": "e98664", - "name": "The Folklore and Literature Archive", - "discipline_id": "hmt", - "institute_id": "iitg", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://iitg.vlab.co.in/?sub=72&brch=169&sim=1033&cnt=1874" - } - ], - "integration_level": 4, - "overview": "This experiments deals with The Folklore and Literature Archive", - "assets": [], - "sections" : [ - "Archive", - "Feedback" - ] - } -} diff --git a/specifications/iit-guwahati/virtual-interactive-lab/e98665.json b/specifications/iit-guwahati/virtual-interactive-lab/e98665.json deleted file mode 100644 index 1d29495..0000000 --- a/specifications/iit-guwahati/virtual-interactive-lab/e98665.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "experiment": { - "id": "e98665", - "name": "Ethnographic Reports ", - "discipline_id": "hmt", - "institute_id": "iitg", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://iitg.vlab.co.in/?sub=72&brch=169&sim=1029&cnt=1875" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Ethnographic Reports ", - "assets": [], - "sections" : [ - "Archive", - "Feedback" - ] - } -} diff --git a/specifications/iit-guwahati/virtual-interactive-lab/e98666.json b/specifications/iit-guwahati/virtual-interactive-lab/e98666.json deleted file mode 100644 index 0d823b7..0000000 --- a/specifications/iit-guwahati/virtual-interactive-lab/e98666.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "experiment": { - "id": "e98666", - "name": "The Missionaries Archive", - "discipline_id": "hmt", - "institute_id": "iitg", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://iitg.vlab.co.in/?sub=72&brch=169&sim=1031&cnt=1869" - } - ], - "integration_level": 4, - "overview": "This experiments deals with The Missionaries Archive", - "assets": [], - "sections" : [ - "Archive", - "Feedback" - ] - } -} diff --git a/specifications/iit-guwahati/virtual-interactive-lab/virtual-interactive-lab.json b/specifications/iit-guwahati/virtual-interactive-lab/virtual-interactive-lab.json deleted file mode 100644 index 5063350..0000000 --- a/specifications/iit-guwahati/virtual-interactive-lab/virtual-interactive-lab.json +++ /dev/null @@ -1,37 +0,0 @@ -{ - "lab": { - "id": "ee34", - "name": "virtual interactive lab", - "discipline_id": "hmt", - "institute_id": "iitg", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://iitg.vlab.co.in/?sub=72&brch=169" - } - ], - "integration_level": 4, - "overview": "This lab deals with virtual interactive lab", - "assets": [], - "sections": [ - { - "name": "Introduction" - }, - { - "experiments" : [ - "e98666", - "e98665", - "e98664", - "e98663", - "e98662", - "e98661", - "e98660", - "e98659", - "e98658" - ] - } - ] - } -} diff --git a/specifications/iit-kanpur/low-temperature-electrical-transport-and-property-measurements/dump_json_to_lds.py b/specifications/iit-kanpur/low-temperature-electrical-transport-and-property-measurements/dump_json_to_lds.py deleted file mode 100644 index 78c74fa..0000000 --- a/specifications/iit-kanpur/low-temperature-electrical-transport-and-property-measurements/dump_json_to_lds.py +++ /dev/null @@ -1,44 +0,0 @@ - -import os -import os.path -import json -import requests -import glob - -URL= 'http://localhost:5000' -json_path_list = [] - -def post_lab_spec(file_path): - - with open(file_path) as json_file: - print file_path - data = json.load(json_file) - if 'lab' in data.keys(): - end_point = "/labs" - if 'experiment' in data.keys(): - end_point = "/experiments" - - data['key'] = 'defaultkey' - APP_URL = URL + end_point - headers = {'Content-Type': 'application/json'} - try: - response = requests.post(APP_URL, data = json.dumps(data), - headers=headers) - if response.status_code == 200: - print "Added json data : " + file_path - else: - print "Errore in adding json file " + file_path + " due to " + response.text - except Exception as e: - print str(e) -try: - exp_file_list = glob.glob(os.getcwd() + "/e9*.json") - lab_file_list = glob.glob(os.getcwd() + "/[!e9]*.json") - - for filename in exp_file_list: - json_path_list.append(filename) -except Exception as e: - print str(e) - -for file_path in json_path_list: - post_lab_spec(file_path) -post_lab_spec(lab_file_list[0]) diff --git a/specifications/iit-kanpur/low-temperature-electrical-transport-and-property-measurements/e98470.json b/specifications/iit-kanpur/low-temperature-electrical-transport-and-property-measurements/e98470.json deleted file mode 100644 index 4271102..0000000 --- a/specifications/iit-kanpur/low-temperature-electrical-transport-and-property-measurements/e98470.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "experiment": { - "id": "E98470", - "name": "Colossal Magneto-Resistive (CMR) effect", - "discipline_id": "phy-sc", - "institute_id": "iitk", - "overview": "This experiment deals with Colossal Magneto-Resistive (CMR) effect", - "developers": [], - "hosting_info": [ - { - "hosting_status": "Hosted", - "hosted_on": "Institute", - "hosted_url": "http://home.iitk.ac.in/~anjankg/virtual-lab/phy-ltl/Exp-1.htm" - } - ], - "integration_level": 0, - "assets": [], - "sections": [ - "Objective", - "Theory", - "Principle", - "Method", - "Detailed Manual", - "Links to Experiments", - "Internal", - "External" - ] - } -} diff --git a/specifications/iit-kanpur/low-temperature-electrical-transport-and-property-measurements/low-temperature-electrical-transport-and-property-measurements.json b/specifications/iit-kanpur/low-temperature-electrical-transport-and-property-measurements/low-temperature-electrical-transport-and-property-measurements.json deleted file mode 100644 index fffea9b..0000000 --- a/specifications/iit-kanpur/low-temperature-electrical-transport-and-property-measurements/low-temperature-electrical-transport-and-property-measurements.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "lab": { - "id": "phy-sc31", - "name": "Colossal Magneto-Resistive (CMR) effect", - "discipline_id": "phy-sc", - "institute_id": "iitk", - "overview": "This experiment deals with Colossal Magneto-Resistive (CMR) effect", - "developers": [], - "hosting_info": [ - { - "hosting_status": "Hosted", - "hosted_on": "Institute", - "hosted_url": "http://home.iitk.ac.in/~anjankg/virtual-lab/phy-ltl/Exp-1.htm" - } - ], - "integration_level": 0, - "assets": [], - "sections": [ - { - "name": "Introduction" - }, - { - "experiments": [ - "e98470" - ] - } - ] - } -} - diff --git a/specifications/iit-kanpur/materials-thermal-processing-and-microstructural-characterization/dump_json_to_lds.py b/specifications/iit-kanpur/materials-thermal-processing-and-microstructural-characterization/dump_json_to_lds.py deleted file mode 100644 index 78c74fa..0000000 --- a/specifications/iit-kanpur/materials-thermal-processing-and-microstructural-characterization/dump_json_to_lds.py +++ /dev/null @@ -1,44 +0,0 @@ - -import os -import os.path -import json -import requests -import glob - -URL= 'http://localhost:5000' -json_path_list = [] - -def post_lab_spec(file_path): - - with open(file_path) as json_file: - print file_path - data = json.load(json_file) - if 'lab' in data.keys(): - end_point = "/labs" - if 'experiment' in data.keys(): - end_point = "/experiments" - - data['key'] = 'defaultkey' - APP_URL = URL + end_point - headers = {'Content-Type': 'application/json'} - try: - response = requests.post(APP_URL, data = json.dumps(data), - headers=headers) - if response.status_code == 200: - print "Added json data : " + file_path - else: - print "Errore in adding json file " + file_path + " due to " + response.text - except Exception as e: - print str(e) -try: - exp_file_list = glob.glob(os.getcwd() + "/e9*.json") - lab_file_list = glob.glob(os.getcwd() + "/[!e9]*.json") - - for filename in exp_file_list: - json_path_list.append(filename) -except Exception as e: - print str(e) - -for file_path in json_path_list: - post_lab_spec(file_path) -post_lab_spec(lab_file_list[0]) diff --git a/specifications/iit-kanpur/materials-thermal-processing-and-microstructural-characterization/e98476.json b/specifications/iit-kanpur/materials-thermal-processing-and-microstructural-characterization/e98476.json deleted file mode 100644 index 8ce0264..0000000 --- a/specifications/iit-kanpur/materials-thermal-processing-and-microstructural-characterization/e98476.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "experiment": { - "id": "E98476", - "name": "Determination of Weibull Modulus of Brittle Materials", - "overview": "This Experiment deals with Determination of Weibull Modulus of Brittle Materials", - "discipline_id": "mech", - "institute_id": "iitk", - "developers": [ - { - "name": "Dr. S. Kamle", - "email": "kamle@iitk.ac.in" - } - ], - "hosting_info": [ - { - "hosting_status": "Hosted", - "hosted_on": "Institute", - "hosted_url": "http://home.iitk.ac.in/~sangals/virtualLab/mechanicalTestingExperiments/mechanicalTestingExperiment-3.html" - } - ], - "integration_level": 0, - "assets": [], - "sections": [ - "Objective", - "Theory", - "Methodology", - "Results", - "Discussion and Conclusions", - "Questions" - ] - } -} diff --git a/specifications/iit-kanpur/materials-thermal-processing-and-microstructural-characterization/e98477.json b/specifications/iit-kanpur/materials-thermal-processing-and-microstructural-characterization/e98477.json deleted file mode 100644 index 2137b66..0000000 --- a/specifications/iit-kanpur/materials-thermal-processing-and-microstructural-characterization/e98477.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "experiment": { - "id": "E98477", - "name": "The Yield Point Phenomenon", - "overview": "This Experiment deals with The Yield Point Phenomenon", - "discipline_id": "mech", - "institute_id": "iitk", - "developers": [ - { - "name": "Dr. S. Kamle", - "email": "kamle@iitk.ac.in" - } - ], - "hosting_info": [ - { - "hosting_status": "Hosted", - "hosted_on": "Institute", - "hosted_url": "http://home.iitk.ac.in/~sangals/virtualLab/mechanicalTestingExperiments/mechanicalTestingExperiment-2.html" - } - ], - "integration_level": 0, - "assets": [], - "sections": [ - "Objective", - "Theory", - "Methodology", - "Results", - "Discussion and Conclusions", - "Questions" - ] - } -} diff --git a/specifications/iit-kanpur/materials-thermal-processing-and-microstructural-characterization/e98478.json b/specifications/iit-kanpur/materials-thermal-processing-and-microstructural-characterization/e98478.json deleted file mode 100644 index 2e1ea8f..0000000 --- a/specifications/iit-kanpur/materials-thermal-processing-and-microstructural-characterization/e98478.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "experiment": { - "id": "E98478", - "name": "Introduction to Tensile Testing: Analysis of Stress-Strain Curves", - "overview": "This Experiment deals with Introduction to Tensile Testing: Analysis of Stress-Strain Curves", - "discipline_id": "mech", - "institute_id": "iitk", - "developers": [ - { - "name": "Dr. S. Kamle", - "email": "kamle@iitk.ac.in" - } - ], - "hosting_info": [ - { - "hosting_status": "Hosted", - "hosted_on": "Institute", - "hosted_url": "http://home.iitk.ac.in/~sangals/virtualLab/mechanicalTestingExperiments/mechanicalTestingExperiment-1.html" - } - ], - "integration_level": 0, - "assets": [], - "sections": [ - "Objective", - "Theory", - "Methodology", - "Results", - "Discussion and Conclusions", - "Questions" - ] - } -} diff --git a/specifications/iit-kanpur/materials-thermal-processing-and-microstructural-characterization/materials-thermal-processing-and-microstructural-characterization.json b/specifications/iit-kanpur/materials-thermal-processing-and-microstructural-characterization/materials-thermal-processing-and-microstructural-characterization.json deleted file mode 100644 index 62a240e..0000000 --- a/specifications/iit-kanpur/materials-thermal-processing-and-microstructural-characterization/materials-thermal-processing-and-microstructural-characterization.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "lab": { - "id": "mat-sc01", - "name": "Thermal Processing and Microstructural Characterization", - "overview": "This lab deals with Thermal Processing and Microstructural Characterization", - "discipline_id": "mech", - "institute_id": "iitk", - "developers": [ - { - "name": "Dr. S. Kamle", - "email": "kamle@iitk.ac.in" - } - ], - "hosting_info": [ - { - "hosting_status": "Hosted", - "hosted_on": "Institute", - "hosted_url": "http://home.iitk.ac.in/~sangals/virtualLab/mechanicalTesting.html" - } - ], - "integration_level": 0, - "assets": [], - "sections": [ - { - "name": "Introduction" - }, - { - "experiments": [ - "E98478", - "E98477", - "E98476" - ] - } - ] - } -} diff --git a/specifications/iit-kanpur/nanocomposite-fabrication-and-biomaterials-and-signal-processing-laboratory/dump_json_to_lds.py b/specifications/iit-kanpur/nanocomposite-fabrication-and-biomaterials-and-signal-processing-laboratory/dump_json_to_lds.py deleted file mode 100644 index 78c74fa..0000000 --- a/specifications/iit-kanpur/nanocomposite-fabrication-and-biomaterials-and-signal-processing-laboratory/dump_json_to_lds.py +++ /dev/null @@ -1,44 +0,0 @@ - -import os -import os.path -import json -import requests -import glob - -URL= 'http://localhost:5000' -json_path_list = [] - -def post_lab_spec(file_path): - - with open(file_path) as json_file: - print file_path - data = json.load(json_file) - if 'lab' in data.keys(): - end_point = "/labs" - if 'experiment' in data.keys(): - end_point = "/experiments" - - data['key'] = 'defaultkey' - APP_URL = URL + end_point - headers = {'Content-Type': 'application/json'} - try: - response = requests.post(APP_URL, data = json.dumps(data), - headers=headers) - if response.status_code == 200: - print "Added json data : " + file_path - else: - print "Errore in adding json file " + file_path + " due to " + response.text - except Exception as e: - print str(e) -try: - exp_file_list = glob.glob(os.getcwd() + "/e9*.json") - lab_file_list = glob.glob(os.getcwd() + "/[!e9]*.json") - - for filename in exp_file_list: - json_path_list.append(filename) -except Exception as e: - print str(e) - -for file_path in json_path_list: - post_lab_spec(file_path) -post_lab_spec(lab_file_list[0]) diff --git a/specifications/iit-kanpur/nanocomposite-fabrication-and-biomaterials-and-signal-processing-laboratory/e98460.json b/specifications/iit-kanpur/nanocomposite-fabrication-and-biomaterials-and-signal-processing-laboratory/e98460.json deleted file mode 100644 index d579011..0000000 --- a/specifications/iit-kanpur/nanocomposite-fabrication-and-biomaterials-and-signal-processing-laboratory/e98460.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "experiment": { - "id": "E98460", - "name": "Influence of Electric Field on Cell Adhesion", - "discipline_id": "mech", - "institute_id": "iitk", - "overview": "This experiment deals with Influence of Electric Field on Cell Adhesion", - "developers": [], - "hosting_info": [ - { - "hosting_status": "Hosted", - "hosted_on": "Institute", - "hosted_url": "http://www.iitk.ac.in/UKIERI_biomaterials/electric%20field%20influence.wmv" - } - ], - "integration_level": 0, - "assets": [], - "sections": [ - "Experiment" - ] - } -} diff --git a/specifications/iit-kanpur/nanocomposite-fabrication-and-biomaterials-and-signal-processing-laboratory/e98461.json b/specifications/iit-kanpur/nanocomposite-fabrication-and-biomaterials-and-signal-processing-laboratory/e98461.json deleted file mode 100644 index 077e371..0000000 --- a/specifications/iit-kanpur/nanocomposite-fabrication-and-biomaterials-and-signal-processing-laboratory/e98461.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "experiment": { - "id": "E98461", - "name": "Bacteria Culture", - "discipline_id": "mech", - "institute_id": "iitk", - "overview": "This experiment deals with Bacteria Culture", - "developers": [], - "hosting_info": [ - { - "hosting_status": "Hosted", - "hosted_on": "Institute", - "hosted_url": "http://www.iitk.ac.in/UKIERI_biomaterials/bacterial%20adhesion%20movie.wmv" - } - ], - "integration_level": 0, - "assets": [], - "sections": [ - "Theory", - "Experiment" - ] - } -} diff --git a/specifications/iit-kanpur/nanocomposite-fabrication-and-biomaterials-and-signal-processing-laboratory/e98462.json b/specifications/iit-kanpur/nanocomposite-fabrication-and-biomaterials-and-signal-processing-laboratory/e98462.json deleted file mode 100644 index 7c03c76..0000000 --- a/specifications/iit-kanpur/nanocomposite-fabrication-and-biomaterials-and-signal-processing-laboratory/e98462.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "experiment": { - "id": "E98462", - "name": "Cell Culture", - "discipline_id": "mech", - "institute_id": "iitk", - "overview": "This experiment deals with Cell Culture", - "developers": [], - "hosting_info": [ - { - "hosting_status": "Hosted", - "hosted_on": "Institute", - "hosted_url": "http://www.iitk.ac.in/UKIERI_biomaterials/CELL%20ADHESION.wmv" - } - ], - "integration_level": 0, - "assets": [], - "sections": [ - "Theory", - "Experiment" - ] - } -} diff --git a/specifications/iit-kanpur/nanocomposite-fabrication-and-biomaterials-and-signal-processing-laboratory/e98463.json b/specifications/iit-kanpur/nanocomposite-fabrication-and-biomaterials-and-signal-processing-laboratory/e98463.json deleted file mode 100644 index feb0391..0000000 --- a/specifications/iit-kanpur/nanocomposite-fabrication-and-biomaterials-and-signal-processing-laboratory/e98463.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "experiment": { - "id": "E98463", - "name": "Spark Plasma Sintering", - "discipline_id": "mech", - "institute_id": "iitk", - "overview": "This experiment deals with Spark Plasma Sintering", - "developers": [], - "hosting_info": [ - { - "hosting_status": "Hosted", - "hosted_on": "Institute", - "hosted_url": "http://www.iitk.ac.in/biomaterialslab/SPS%20Movie.wmv" - } - ], - "integration_level": 0, - "assets": [], - "sections": [ - "Theory", - "Experiment" - ] - } -} diff --git a/specifications/iit-kanpur/nanocomposite-fabrication-and-biomaterials-and-signal-processing-laboratory/nanocomposite-fabrication-and-biomaterials-and-signal-processing-laboratory.json b/specifications/iit-kanpur/nanocomposite-fabrication-and-biomaterials-and-signal-processing-laboratory/nanocomposite-fabrication-and-biomaterials-and-signal-processing-laboratory.json deleted file mode 100644 index 2d62cf7..0000000 --- a/specifications/iit-kanpur/nanocomposite-fabrication-and-biomaterials-and-signal-processing-laboratory/nanocomposite-fabrication-and-biomaterials-and-signal-processing-laboratory.json +++ /dev/null @@ -1,53 +0,0 @@ -{ - "lab": { - "id": "mech40", - "name": "Nanocomposite, Fabrication and Biomaterials & Signal Processing Laboratory", - "discipline_id": "mech", - "institute_id": "iitk", - "overview": "This experiment deals with Nanocomposite, Fabrication and Biomaterials & Signal Processing Laboratory", - "developers": [], - "hosting_info": [ - { - "hosting_status": "Hosted", - "hosted_on": "Institute", - "hosted_url": "http://www.iitk.ac.in/biomaterialslab/virtuallab.html" - } - ], - "integration_level": 0, - "assets": [], - "sections": [ - { - "name": "Home" - }, - { - "name": "Facilities" - }, - { - "name": "contact us" - }, - { - "name": "People" - }, - { - "name": "Proposal" - }, - { - "name": "Useful information" - }, - { - "name": "Virtual lab experiments" - }, - { - "name": "Real Life Experimental Demonstration" - }, - { - "experiments": [ - "e98463", - "e98462", - "e98461", - "e98460" - ] - } - ] - } -} diff --git a/specifications/iit-kanpur/oscillations/dump_json_to_lds.py b/specifications/iit-kanpur/oscillations/dump_json_to_lds.py deleted file mode 100644 index 78c74fa..0000000 --- a/specifications/iit-kanpur/oscillations/dump_json_to_lds.py +++ /dev/null @@ -1,44 +0,0 @@ - -import os -import os.path -import json -import requests -import glob - -URL= 'http://localhost:5000' -json_path_list = [] - -def post_lab_spec(file_path): - - with open(file_path) as json_file: - print file_path - data = json.load(json_file) - if 'lab' in data.keys(): - end_point = "/labs" - if 'experiment' in data.keys(): - end_point = "/experiments" - - data['key'] = 'defaultkey' - APP_URL = URL + end_point - headers = {'Content-Type': 'application/json'} - try: - response = requests.post(APP_URL, data = json.dumps(data), - headers=headers) - if response.status_code == 200: - print "Added json data : " + file_path - else: - print "Errore in adding json file " + file_path + " due to " + response.text - except Exception as e: - print str(e) -try: - exp_file_list = glob.glob(os.getcwd() + "/e9*.json") - lab_file_list = glob.glob(os.getcwd() + "/[!e9]*.json") - - for filename in exp_file_list: - json_path_list.append(filename) -except Exception as e: - print str(e) - -for file_path in json_path_list: - post_lab_spec(file_path) -post_lab_spec(lab_file_list[0]) diff --git a/specifications/iit-kanpur/oscillations/e98402.json b/specifications/iit-kanpur/oscillations/e98402.json deleted file mode 100644 index a847cd3..0000000 --- a/specifications/iit-kanpur/oscillations/e98402.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "experiment": { - "id": "E98402", - "name": "Nonlinear Damped Oscillator", - "discipline_id": "phy-sc", - "institute_id": "iitk", - "overview": "This experiment deals with Nonlinear Damped Oscillator", - "developers": [ - { - "name": "Dr. Jaleel Akthar", - "email": "mjakthar@iitk.ac.in" - } - ], - "hosting_info": [ - { - "hosting_status": "Hosted", - "hosted_on": "Institute", - "hosted_url": "http://iitk.vlab.co.in/index.php?sub=27&brch=236&sim=1216&cnt=1" - } - ], - "integration_level": 0, - "assets": [], - "sections": [ - "Theory", - "Procedure", - "Self Evaluation", - "Simulator", - "Feedback" - ] - } -} diff --git a/specifications/iit-kanpur/oscillations/e98403.json b/specifications/iit-kanpur/oscillations/e98403.json deleted file mode 100644 index bc27708..0000000 --- a/specifications/iit-kanpur/oscillations/e98403.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "experiment": { - "id": "E98403", - "name": "Nonlinear Oscillator", - "discipline_id": "phy-sc", - "institute_id": "iitk", - "overview": "This experiment deals with Nonlinear Oscillator", - "developers": [ - { - "name": "Dr. Jaleel Akthar", - "email": "mjakthar@iitk.ac.in" - } - ], - "hosting_info": [ - { - "hosting_status": "Hosted", - "hosted_on": "Institute", - "hosted_url": "http://iitk.vlab.co.in/index.php?sub=27&brch=236&sim=1215&cnt=1" - } - ], - "integration_level": 0, - "assets": [], - "sections": [ - "Theory", - "Procedure", - "Self Evaluation", - "Simulator", - "Reference", - "Feedback" - ] - } -} diff --git a/specifications/iit-kanpur/oscillations/e98404.json b/specifications/iit-kanpur/oscillations/e98404.json deleted file mode 100644 index b0d6bd7..0000000 --- a/specifications/iit-kanpur/oscillations/e98404.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "experiment": { - "id": "E98404", - "name": "Coupled Harmonic Oscillator", - "discipline_id": "phy-sc", - "institute_id": "iitk", - "overview": "This experiment deals with Coupled Harmonic Oscillator", - "developers": [ - { - "name": "Dr. Jaleel Akthar", - "email": "mjakthar@iitk.ac.in" - } - ], - "hosting_info": [ - { - "hosting_status": "Hosted", - "hosted_on": "Institute", - "hosted_url": "http://iitk.vlab.co.in/index.php?sub=27&brch=236&sim=1214&cnt=1" - } - ], - "integration_level": 0, - "assets": [], - "sections": [ - "Theory", - "Procedure", - "Self Evaluation", - "Simulator", - "Feedback" - ] - } -} diff --git a/specifications/iit-kanpur/oscillations/e98405.json b/specifications/iit-kanpur/oscillations/e98405.json deleted file mode 100644 index 56e4cbb..0000000 --- a/specifications/iit-kanpur/oscillations/e98405.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "experiment": { - "id": "E98405", - "name": "Resonance in LCR Circuit", - "discipline_id": "phy-sc", - "institute_id": "iitk", - "overview": "This experiment deals with Resonance in LCR Circuit", - "developers": [ - { - "name": "Dr. Jaleel Akthar", - "email": "mjakthar@iitk.ac.in" - } - ], - "hosting_info": [ - { - "hosting_status": "Hosted", - "hosted_on": "Institute", - "hosted_url": "http://iitk.vlab.co.in/index.php?sub=27&brch=236&sim=1213&cnt=1" - } - ], - "integration_level": 0, - "assets": [], - "sections": [ - "Theory", - "Procedure", - "Simulator", - "Feedback" - ] - } -} diff --git a/specifications/iit-kanpur/oscillations/e98406.json b/specifications/iit-kanpur/oscillations/e98406.json deleted file mode 100644 index 7fa699d..0000000 --- a/specifications/iit-kanpur/oscillations/e98406.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "experiment": { - "id": "E98406", - "name": "LCR Circuit", - "discipline_id": "phy-sc", - "institute_id": "iitk", - "overview": "This experiment deals with LCR Circuit", - "developers": [ - { - "name": "Dr. Jaleel Akthar", - "email": "mjakthar@iitk.ac.in" - } - ], - "hosting_info": [ - { - "hosting_status": "Hosted", - "hosted_on": "Institute", - "hosted_url": "http://iitk.vlab.co.in/index.php?sub=27&brch=236&sim=1212&cnt=1" - } - ], - "integration_level": 0, - "assets": [], - "sections": [ - "Theory", - "Procedure", - "Simulator", - "Feedback" - ] - } -} diff --git a/specifications/iit-kanpur/oscillations/e98407.json b/specifications/iit-kanpur/oscillations/e98407.json deleted file mode 100644 index 1f91f0e..0000000 --- a/specifications/iit-kanpur/oscillations/e98407.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "experiment": { - "id": "E98407", - "name": "LC Circuit", - "discipline_id": "phy-sc", - "institute_id": "iitk", - "overview": "This experiment deals with LC Circuit", - "developers": [ - { - "name": "Dr. Jaleel Akthar", - "email": "mjakthar@iitk.ac.in" - } - ], - "hosting_info": [ - { - "hosting_status": "Hosted", - "hosted_on": "Institute", - "hosted_url": "http://iitk.vlab.co.in/index.php?sub=27&brch=236&sim=1211&cnt=1" - } - ], - "integration_level": 0, - "assets": [], - "sections": [ - "Theory", - "Procedure", - "Self Evaluation", - "Simulator", - "Reference", - "Feedback" - ] - } -} diff --git a/specifications/iit-kanpur/oscillations/e98408.json b/specifications/iit-kanpur/oscillations/e98408.json deleted file mode 100644 index 473d09f..0000000 --- a/specifications/iit-kanpur/oscillations/e98408.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "experiment": { - "id": "E98408", - "name": "Damped Harmonic Motion", - "discipline_id": "phy-sc", - "institute_id": "iitk", - "overview": "This experiment deals with Damped Harmonic Motion", - "developers": [ - { - "name": "Dr. Jaleel Akthar", - "email": "mjakthar@iitk.ac.in" - } - ], - "hosting_info": [ - { - "hosting_status": "Hosted", - "hosted_on": "Institute", - "hosted_url": "http://iitk.vlab.co.in/index.php?sub=27&brch=236&sim=1210&cnt=1" - } - ], - "integration_level": 0, - "assets": [], - "sections": [ - "Theory", - "Procedure", - "Self Evaluation", - "Simulator", - "Reference", - "Feedback" - ] - } -} diff --git a/specifications/iit-kanpur/oscillations/e98409.json b/specifications/iit-kanpur/oscillations/e98409.json deleted file mode 100644 index aedfe19..0000000 --- a/specifications/iit-kanpur/oscillations/e98409.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "experiment": { - "id": "E98409", - "name": "Simple Harmonic Motion", - "discipline_id": "phy-sc", - "institute_id": "iitk", - "overview": "This experiment deals with simple Harmonic Motion", - "developers": [ - { - "name": "Dr. Jaleel Akthar", - "email": "mjakthar@iitk.ac.in" - } - ], - "hosting_info": [ - { - "hosting_status": "Hosted", - "hosted_on": "Institute", - "hosted_url": "http://iitk.vlab.co.in/index.php?sub=27&brch=236&sim=1209&cnt=1" - } - ], - "integration_level": 0, - "assets": [], - "sections": [ - "Theory", - "Procedure", - "Self Evaluation", - "Simulator", - "Reference", - "Feedback" - ] - } -} diff --git a/specifications/iit-kanpur/oscillations/e98410.json b/specifications/iit-kanpur/oscillations/e98410.json deleted file mode 100644 index 117e8ee..0000000 --- a/specifications/iit-kanpur/oscillations/e98410.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "experiment": { - "id": "E98410", - "name": "Philosophy", - "discipline_id": "phy-sc", - "institute_id": "iitk", - "overview": "This experiment deals with Philosophy", - "developers": [ - { - "name": "Dr. Jaleel Akthar", - "email": "mjakthar@iitk.ac.in" - } - ], - "hosting_info": [ - { - "hosting_status": "Hosted", - "hosted_on": "Institute", - "hosted_url": "http://iitk.vlab.co.in/index.php?sub=27&brch=236&sim=1274&cnt=2617" - } - ], - "integration_level": 0, - "assets": [], - "sections": [ - "Oscillations at glance" - ] - } -} diff --git a/specifications/iit-kanpur/oscillations/e98411.json b/specifications/iit-kanpur/oscillations/e98411.json deleted file mode 100644 index 3a34c73..0000000 --- a/specifications/iit-kanpur/oscillations/e98411.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "experiment": { - "id": "E98411", - "name": "Few important things to DO befor going to the experiments", - "discipline_id": "phy-sc", - "institute_id": "iitk", - "overview": "This experiment deals with Few important things to DO befor going to the experiments", - "developers": [ - { - "name": "Dr. Jaleel Akthar", - "email": "mjakthar@iitk.ac.in" - } - ], - "hosting_info": [ - { - "hosting_status": "Hosted", - "hosted_on": "Institute", - "hosted_url": "http://iitk.vlab.co.in/index.php?sub=27&brch=236&sim=1275&cnt=2598" - } - ], - "integration_level": 0, - "assets": [], - "sections": [ - "Guidelines", - "RTE instructions" - ] - } -} diff --git a/specifications/iit-kanpur/oscillations/oscillations.json b/specifications/iit-kanpur/oscillations/oscillations.json deleted file mode 100644 index 2ede5f0..0000000 --- a/specifications/iit-kanpur/oscillations/oscillations.json +++ /dev/null @@ -1,43 +0,0 @@ -{ - "lab": { - "id": "phy19", - "name": "Oscillations", - "overview": "This lab deals with Oscillations", - "discipline_id": "phy-sc", - "institute_id": "iitk", - "developers": [ - { - "name": "Dr. S. Kamle", - "email": "kamle@iitk.ac.in" - } - ], - "hosting_info": [ - { - "hosting_status": "Hosted", - "hosted_on": "Institute", - "hosted_url": "http://home.iitk.ac.in/~sangals/virtualLab/mechanicalTesting.html" - } - ], - "integration_level": 0, - "assets": [], - "sections": [ - { - "name": "Introduction" - }, - { - "experiments": [ - "E98411", - "E98410", - "E98409", - "E98408", - "E98407", - "E98406", - "E98405", - "E98404", - "E98403", - "E98402" - ] - } - ] - } -} diff --git a/specifications/iit-kanpur/physical-sciences-optical-device-characterizations/dump_json_to_lds.py b/specifications/iit-kanpur/physical-sciences-optical-device-characterizations/dump_json_to_lds.py deleted file mode 100644 index 78c74fa..0000000 --- a/specifications/iit-kanpur/physical-sciences-optical-device-characterizations/dump_json_to_lds.py +++ /dev/null @@ -1,44 +0,0 @@ - -import os -import os.path -import json -import requests -import glob - -URL= 'http://localhost:5000' -json_path_list = [] - -def post_lab_spec(file_path): - - with open(file_path) as json_file: - print file_path - data = json.load(json_file) - if 'lab' in data.keys(): - end_point = "/labs" - if 'experiment' in data.keys(): - end_point = "/experiments" - - data['key'] = 'defaultkey' - APP_URL = URL + end_point - headers = {'Content-Type': 'application/json'} - try: - response = requests.post(APP_URL, data = json.dumps(data), - headers=headers) - if response.status_code == 200: - print "Added json data : " + file_path - else: - print "Errore in adding json file " + file_path + " due to " + response.text - except Exception as e: - print str(e) -try: - exp_file_list = glob.glob(os.getcwd() + "/e9*.json") - lab_file_list = glob.glob(os.getcwd() + "/[!e9]*.json") - - for filename in exp_file_list: - json_path_list.append(filename) -except Exception as e: - print str(e) - -for file_path in json_path_list: - post_lab_spec(file_path) -post_lab_spec(lab_file_list[0]) diff --git a/specifications/iit-kanpur/physical-sciences-optical-device-characterizations/e98489.json b/specifications/iit-kanpur/physical-sciences-optical-device-characterizations/e98489.json deleted file mode 100644 index 2d6e6ac..0000000 --- a/specifications/iit-kanpur/physical-sciences-optical-device-characterizations/e98489.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "experiment": { - "id": "E98489", - "name": "Digital Fiber Optic link for different data rates (trial stage)", - "overview": "This Experiment deals with Digital Fiber Optic link for different data rates (trial stage)", - "discipline_id": "phy-sc", - "institute_id": "iitk", - "developers": [ - { - "name": "Dr. S. Kamle", - "email": "kamle@iitk.ac.in" - } - ], - "hosting_info": [ - { - "hosting_status": "Hosted", - "hosted_on": "Institute", - "hosted_url": "http://iitk.vlab.co.in/?sub=27&brch=80&sim=223&cnt=527" - } - ], - "integration_level": 0, - "assets": [], - "sections": [ - "Objective", - "Background", - "Circuit Diagram", - "Procedure", - "Precautions", - "Photo Gallery", - "Reference Books", - "Feedback" - ] - } -} diff --git a/specifications/iit-kanpur/physical-sciences-optical-device-characterizations/e98490.json b/specifications/iit-kanpur/physical-sciences-optical-device-characterizations/e98490.json deleted file mode 100644 index 2a28ea7..0000000 --- a/specifications/iit-kanpur/physical-sciences-optical-device-characterizations/e98490.json +++ /dev/null @@ -1,39 +0,0 @@ -{ - "experiment": { - "id": "E98490", - "name": "Optical Spectral Characteristics of LEDs", - "overview": "This Experiment deals with Optical Spectral Characteristics of LEDs", - "discipline_id": "phy-sc", - "institute_id": "iitk", - "developers": [ - { - "name": "Dr. S. Kamle", - "email": "kamle@iitk.ac.in" - } - ], - "hosting_info": [ - { - "hosting_status": "Hosted", - "hosted_on": "Institute", - "hosted_url": "http://iitk.vlab.co.in/?sub=27&brch=80&sim=224&cnt=536" - } - ], - "integration_level": 0, - "assets": [], - "sections": [ - "Objective", - "Background", - "Equipments", - "Components", - "Circuit Diagram", - "Description", - "Procedure", - "Precautions", - "Photo Gallery", - "Reference Books", - "Quiz", - "Remote Experiment", - "Feedback" - ] - } -} diff --git a/specifications/iit-kanpur/physical-sciences-optical-device-characterizations/e98491.json b/specifications/iit-kanpur/physical-sciences-optical-device-characterizations/e98491.json deleted file mode 100644 index 8cbb869..0000000 --- a/specifications/iit-kanpur/physical-sciences-optical-device-characterizations/e98491.json +++ /dev/null @@ -1,39 +0,0 @@ -{ - "experiment": { - "id": "E98491", - "name": "Optical Spectral Characteristics of Laser Diodes", - "overview": "This Experiment deals with Optical Spectral Characteristics of Laser Diodes", - "discipline_id": "phy-sc", - "institute_id": "iitk", - "developers": [ - { - "name": "Dr. S. Kamle", - "email": "kamle@iitk.ac.in" - } - ], - "hosting_info": [ - { - "hosting_status": "Hosted", - "hosted_on": "Institute", - "hosted_url": "http://iitk.vlab.co.in/?sub=27&brch=80&sim=223&cnt=527" - } - ], - "integration_level": 0, - "assets": [], - "sections": [ - "Objective", - "Background", - "Equipments", - "Components", - "Circuit Diagram", - "Description", - "Procedure", - "Precautions", - "Photo Gallery", - "Reference Books", - "Quiz", - "Remote Experiment", - "Feedback" - ] - } -} diff --git a/specifications/iit-kanpur/physical-sciences-optical-device-characterizations/e98492.json b/specifications/iit-kanpur/physical-sciences-optical-device-characterizations/e98492.json deleted file mode 100644 index 1e6c66a..0000000 --- a/specifications/iit-kanpur/physical-sciences-optical-device-characterizations/e98492.json +++ /dev/null @@ -1,38 +0,0 @@ -{ - "experiment": { - "id": "E98492", - "name": "L-I and V-I Characteristics of fiber optic LEDs", - "overview": "This Experiment deals with L-I and V-I Characteristics of fiber optic LEDs", - "discipline_id": "phy-sc", - "institute_id": "iitk", - "developers": [ - { - "name": "Dr. S. Kamle", - "email": "kamle@iitk.ac.in" - } - ], - "hosting_info": [ - { - "hosting_status": "Hosted", - "hosted_on": "Institute", - "hosted_url": "http://iitk.vlab.co.in/?sub=27&brch=80&sim=222&cnt=498" - } - ], - "integration_level": 0, - "assets": [], - "sections": [ - "Objective", - "Background", - "Equipments", - "Components", - "Circuit Diagram", - "Description", - "Procedure", - "Precautions", - "Photo Gallery", - "Reference Books", - "Remote Experiment", - "Feedback" - ] - } -} diff --git a/specifications/iit-kanpur/physical-sciences-optical-device-characterizations/physical-sciences-optical-device-characterizations.json b/specifications/iit-kanpur/physical-sciences-optical-device-characterizations/physical-sciences-optical-device-characterizations.json deleted file mode 100644 index 53c4059..0000000 --- a/specifications/iit-kanpur/physical-sciences-optical-device-characterizations/physical-sciences-optical-device-characterizations.json +++ /dev/null @@ -1,37 +0,0 @@ -{ - "lab": { - "id": "phy-sc30", - "name": "Optical Device Characterizations", - "overview": "This lab deals with Optical Device Characterizations", - "discipline_id": "phy-sc", - "institute_id": "iitk", - "developers": [ - { - "name": "Dr. S. Kamle", - "email": "kamle@iitk.ac.in" - } - ], - "hosting_info": [ - { - "hosting_status": "Hosted", - "hosted_on": "Institute", - "hosted_url": "http://iitk.vlab.co.in/?sub=27&brch=80" - } - ], - "integration_level": 0, - "assets": [], - "sections": [ - { - "name": "Introduction" - }, - { - "experiments": [ - "E98492", - "E98491", - "E98490", - "E98489" - ] - } - ] - } -} diff --git a/specifications/iit-kanpur/rf-and-microwave-characterization-lab/dump_json_to_lds.py b/specifications/iit-kanpur/rf-and-microwave-characterization-lab/dump_json_to_lds.py deleted file mode 100644 index 78c74fa..0000000 --- a/specifications/iit-kanpur/rf-and-microwave-characterization-lab/dump_json_to_lds.py +++ /dev/null @@ -1,44 +0,0 @@ - -import os -import os.path -import json -import requests -import glob - -URL= 'http://localhost:5000' -json_path_list = [] - -def post_lab_spec(file_path): - - with open(file_path) as json_file: - print file_path - data = json.load(json_file) - if 'lab' in data.keys(): - end_point = "/labs" - if 'experiment' in data.keys(): - end_point = "/experiments" - - data['key'] = 'defaultkey' - APP_URL = URL + end_point - headers = {'Content-Type': 'application/json'} - try: - response = requests.post(APP_URL, data = json.dumps(data), - headers=headers) - if response.status_code == 200: - print "Added json data : " + file_path - else: - print "Errore in adding json file " + file_path + " due to " + response.text - except Exception as e: - print str(e) -try: - exp_file_list = glob.glob(os.getcwd() + "/e9*.json") - lab_file_list = glob.glob(os.getcwd() + "/[!e9]*.json") - - for filename in exp_file_list: - json_path_list.append(filename) -except Exception as e: - print str(e) - -for file_path in json_path_list: - post_lab_spec(file_path) -post_lab_spec(lab_file_list[0]) diff --git a/specifications/iit-kanpur/rf-and-microwave-characterization-lab/e98496.json b/specifications/iit-kanpur/rf-and-microwave-characterization-lab/e98496.json deleted file mode 100644 index 1507725..0000000 --- a/specifications/iit-kanpur/rf-and-microwave-characterization-lab/e98496.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "experiment": { - "id": "E98496", - "name": "Introduce the concept of ratio meter, and its significance for the scalar network analyzer", - "discipline_id": "ece", - "institute_id": "iitk", - "overview": "This experiment deals with Introduce the concept of ratio meter, and its significance for the scalar network analyzer", - "developers": [ - { - "name": "Dr. Jaleel Akthar", - "email": "mjakthar@iitk.ac.in" - } - ], - "hosting_info": [ - { - "hosting_status": "Hosted", - "hosted_on": "Institute", - "hosted_url": "http://www.iitk.ac.in/mimt_lab/vlab/index.php" - } - ], - "integration_level": 0, - "assets": [], - "sections": [ - "Aim", - "About", - "Theory", - "Procedure", - "Quiz", - "Tutorial", - "Experiment Manual", - "References", - "Requirement", - "Live support" - ] - } -} diff --git a/specifications/iit-kanpur/rf-and-microwave-characterization-lab/e98497.json b/specifications/iit-kanpur/rf-and-microwave-characterization-lab/e98497.json deleted file mode 100644 index 4738ecf..0000000 --- a/specifications/iit-kanpur/rf-and-microwave-characterization-lab/e98497.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "experiment": { - "id": "E98497", - "name": "Find the change in characteristics impedance and reflection coefficients of the transmission line by changing the dielectric properties of materials embedded between two conductors", - "discipline_id": "ece", - "institute_id": "iitk", - "overview": "This experiment deals with Find the change in characteristics impedance and reflection coefficients of the transmission line by changing the dielectric properties of materials embedded between two conductors", - "developers": [ - { - "name": "Dr. Jaleel Akthar", - "email": "mjakthar@iitk.ac.in" - } - ], - "hosting_info": [ - { - "hosting_status": "Hosted", - "hosted_on": "Institute", - "hosted_url": "http://www.iitk.ac.in/mimt_lab/vlab/index.php" - } - ], - "integration_level": 0, - "assets": [], - "sections": [ - "Aim", - "About", - "Theory", - "Procedure", - "Quiz", - "Tutorial", - "Experiment Manual", - "References", - "Requirement", - "Live support" - ] - } -} diff --git a/specifications/iit-kanpur/rf-and-microwave-characterization-lab/e98498.json b/specifications/iit-kanpur/rf-and-microwave-characterization-lab/e98498.json deleted file mode 100644 index 3fc652a..0000000 --- a/specifications/iit-kanpur/rf-and-microwave-characterization-lab/e98498.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "experiment": { - "id": "E98498", - "name": "Concept of generalized n-port scattering parameters, and formulation of these parameters into 2-port reflection and transmission coefficients", - "discipline_id": "ece", - "institute_id": "iitk", - "overview": "This experiment deals with Concept of generalized n-port scattering parameters, and formulation of these parameters into 2-port reflection and transmission coefficients", - "developers": [ - { - "name": "Dr. Jaleel Akthar", - "email": "mjakthar@iitk.ac.in" - } - ], - "hosting_info": [ - { - "hosting_status": "Hosted", - "hosted_on": "Institute", - "hosted_url": "http://www.iitk.ac.in/mimt_lab/vlab/index.php" - } - ], - "integration_level": 0, - "assets": [], - "sections": [ - "Aim", - "About", - "Theory", - "Procedure", - "Quiz", - "Tutorial", - "Experiment Manual", - "References", - "Requirement", - "Live support" - ] - } -} diff --git a/specifications/iit-kanpur/rf-and-microwave-characterization-lab/e98499.json b/specifications/iit-kanpur/rf-and-microwave-characterization-lab/e98499.json deleted file mode 100644 index 0124a79..0000000 --- a/specifications/iit-kanpur/rf-and-microwave-characterization-lab/e98499.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "experiment": { - "id": "E98499", - "name": "Study the behavior of impedance matching for passive networks using Smith chart", - "discipline_id": "ece", - "institute_id": "iitk", - "overview": "This experiment deals with Study the behavior of impedance matching for passive networks using Smith chart", - "developers": [ - { - "name": "Dr. Jaleel Akthar", - "email": "mjakthar@iitk.ac.in" - } - ], - "hosting_info": [ - { - "hosting_status": "Hosted", - "hosted_on": "Institute", - "hosted_url": "http://www.iitk.ac.in/mimt_lab/vlab/index.php" - } - ], - "integration_level": 0, - "assets": [], - "sections": [ - "Aim", - "About", - "Theory", - "Procedure", - "Quiz", - "Tutorial", - "Experiment Manual", - "References", - "Requirement", - "Live support" - ] - } -} diff --git a/specifications/iit-kanpur/rf-and-microwave-characterization-lab/e98500.json b/specifications/iit-kanpur/rf-and-microwave-characterization-lab/e98500.json deleted file mode 100644 index 3002841..0000000 --- a/specifications/iit-kanpur/rf-and-microwave-characterization-lab/e98500.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "experiment": { - "id": "E98500", - "name": "Introduction to Smith chart and its application for the unknown impedance measurement", - "discipline_id": "ece", - "institute_id": "iitk", - "overview": "This experiment deals with Introduction to Smith chart and its application for the unknown impedance measurement", - "developers": [ - { - "name": "Dr. Jaleel Akthar", - "email": "mjakthar@iitk.ac.in" - } - ], - "hosting_info": [ - { - "hosting_status": "Hosted", - "hosted_on": "Institute", - "hosted_url": "http://www.iitk.ac.in/mimt_lab/vlab/index.php" - } - ], - "integration_level": 0, - "assets": [], - "sections": [ - "Aim", - "About", - "Theory", - "Procedure", - "Quiz", - "Tutorial", - "Experiment Manual", - "References", - "Requirement", - "Live support" - ] - } -} diff --git a/specifications/iit-kanpur/rf-and-microwave-characterization-lab/e98501.json b/specifications/iit-kanpur/rf-and-microwave-characterization-lab/e98501.json deleted file mode 100644 index d687a03..0000000 --- a/specifications/iit-kanpur/rf-and-microwave-characterization-lab/e98501.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "experiment": { - "id": "E98501", - "name": "Study the behaviour of terminated coaxial transmission line in frequency domain", - "discipline_id": "ece", - "institute_id": "iitk", - "overview": "This experiment deals with Study the behaviour of terminated coaxial transmission line in frequency domain", - "developers": [ - { - "name": "Dr. Jaleel Akthar", - "email": "mjakthar@iitk.ac.in" - } - ], - "hosting_info": [ - { - "hosting_status": "Hosted", - "hosted_on": "Institute", - "hosted_url": "http://www.iitk.ac.in/mimt_lab/vlab/index.php" - } - ], - "integration_level": 0, - "assets": [], - "sections": [ - "Aim", - "About", - "Theory", - "Procedure", - "Quiz", - "Tutorial", - "Experiment Manual", - "References", - "Requirement", - "Live support" - ] - } -} diff --git a/specifications/iit-kanpur/rf-and-microwave-characterization-lab/e98502.json b/specifications/iit-kanpur/rf-and-microwave-characterization-lab/e98502.json deleted file mode 100644 index 1daa304..0000000 --- a/specifications/iit-kanpur/rf-and-microwave-characterization-lab/e98502.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "experiment": { - "id": "E98502", - "name": "Observe the transient phenomenon of terminated coaxial transmission lines in order to study their time domain behavior", - "discipline_id": "ece", - "institute_id": "iitk", - "overview": "This experiment deals with Observe the transient phenomenon of terminated coaxial transmission lines in order to study their time domain behavior", - "developers": [ - { - "name": "Dr. Jaleel Akthar", - "email": "mjakthar@iitk.ac.in" - } - ], - "hosting_info": [ - { - "hosting_status": "Hosted", - "hosted_on": "Institute", - "hosted_url": "http://www.iitk.ac.in/mimt_lab/vlab/index.php" - } - ], - "integration_level": 0, - "assets": [], - "sections": [ - "Aim", - "About", - "Theory", - "Procedure", - "Quiz", - "Tutorial", - "Experiment Manual", - "References", - "Requirement", - "Live support" - ] - } -} diff --git a/specifications/iit-kanpur/rf-and-microwave-characterization-lab/e98503.json b/specifications/iit-kanpur/rf-and-microwave-characterization-lab/e98503.json deleted file mode 100644 index 4cc43b3..0000000 --- a/specifications/iit-kanpur/rf-and-microwave-characterization-lab/e98503.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "experiment": { - "id": "E98503", - "name": "Measurement of the dielectric constant and loss tangent of materials in microwave frequency band using a rectangular waveguide cavity", - "discipline_id": "ece", - "institute_id": "iitk", - "overview": "This experiment deals with Measurement of the dielectric constant and loss tangent of materials in microwave frequency band using a rectangular waveguide cavity", - "developers": [ - { - "name": "Dr. Jaleel Akthar", - "email": "mjakthar@iitk.ac.in" - } - ], - "hosting_info": [ - { - "hosting_status": "Hosted", - "hosted_on": "Institute", - "hosted_url": "http://www.iitk.ac.in/mimt_lab/vlab/index.php" - } - ], - "integration_level": 0, - "assets": [], - "sections": [ - "Aim", - "About", - "Theory", - "Procedure", - "Quiz", - "Tutorial", - "Experiment Manual", - "References", - "Requirement", - "Live support" - ] - } -} diff --git a/specifications/iit-kanpur/rf-and-microwave-characterization-lab/e98504.json b/specifications/iit-kanpur/rf-and-microwave-characterization-lab/e98504.json deleted file mode 100644 index 2784c9e..0000000 --- a/specifications/iit-kanpur/rf-and-microwave-characterization-lab/e98504.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "experiment": { - "id": "E98504", - "name": "Study of field pattern of various modes inside a rectangular waveguide cavity", - "discipline_id": "ece", - "institute_id": "iitk", - "overview": "This experiment deals with Study of field pattern of various modes inside a rectangular waveguide cavity", - "developers": [ - { - "name": "Dr. Jaleel Akthar", - "email": "mjakthar@iitk.ac.in" - } - ], - "hosting_info": [ - { - "hosting_status": "Hosted", - "hosted_on": "Institute", - "hosted_url": "http://www.iitk.ac.in/mimt_lab/vlab/index.php" - } - ], - "integration_level": 0, - "assets": [], - "sections": [ - "Aim", - "About", - "Theory", - "Procedure", - "Quiz", - "Tutorial", - "Experiment Manual", - "References", - "Requirement", - "Live support" - ] - } -} diff --git a/specifications/iit-kanpur/rf-and-microwave-characterization-lab/e98505.json b/specifications/iit-kanpur/rf-and-microwave-characterization-lab/e98505.json deleted file mode 100644 index 6fe3ffe..0000000 --- a/specifications/iit-kanpur/rf-and-microwave-characterization-lab/e98505.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "experiment": { - "id": "E98505", - "name": "Study of field pattern of various modes inside a rectangular waveguide", - "discipline_id": "ece", - "institute_id": "iitk", - "overview": "This experiment deals with Study of field pattern of various modes inside a rectangular waveguide", - "developers": [ - { - "name": "Dr. Jaleel Akthar", - "email": "mjakthar@iitk.ac.in" - } - ], - "hosting_info": [ - { - "hosting_status": "Hosted", - "hosted_on": "Institute", - "hosted_url": "http://www.iitk.ac.in/mimt_lab/vlab/index.php" - } - ], - "integration_level": 0, - "assets": [], - "sections": [ - "Aim", - "About", - "Theory", - "Procedure", - "Quiz", - "Tutorial", - "Experiment Manual", - "References", - "Requirement", - "Live support" - ] - } -} diff --git a/specifications/iit-kanpur/rf-and-microwave-characterization-lab/rf-and-microwave-characterization-lab.json b/specifications/iit-kanpur/rf-and-microwave-characterization-lab/rf-and-microwave-characterization-lab.json deleted file mode 100644 index c22a8c8..0000000 --- a/specifications/iit-kanpur/rf-and-microwave-characterization-lab/rf-and-microwave-characterization-lab.json +++ /dev/null @@ -1,45 +0,0 @@ -{ - "lab": { - "id": "ece18", - "name": "RF and Microwave Characterization Lab", - "discipline_id": "ece", - "institute_id": "iitk", - "overview": "This experiment deals with RF and Microwave Characterization Lab", - "developers": [ - { - "name": "Dr. Jaleel Akhtar", - "email": "mjakthar@iitk.ac.in" - } - ], - "hosting_info": [ - { - "hosting_status": "Hosted", - "hosted_on": "Institute", - "hosted_url": "http://www.iitk.ac.in/mimt_lab/vlab/index.php" - } - ], - "integration_level": 0, - "assets": [], - "sections": [ - { - "name": "Introduction" - }, - { - "experiments": [ - "e98505", - "e98504", - "e98503", - "e98502", - "e98501", - "e98500", - "e98499", - "e98497", - "e98496" - ] - } - ] - } -} - - - diff --git a/specifications/iit-kanpur/transducer-and-instrumentation-virtual-lab/dump_json_to_lds.py b/specifications/iit-kanpur/transducer-and-instrumentation-virtual-lab/dump_json_to_lds.py deleted file mode 100644 index 78c74fa..0000000 --- a/specifications/iit-kanpur/transducer-and-instrumentation-virtual-lab/dump_json_to_lds.py +++ /dev/null @@ -1,44 +0,0 @@ - -import os -import os.path -import json -import requests -import glob - -URL= 'http://localhost:5000' -json_path_list = [] - -def post_lab_spec(file_path): - - with open(file_path) as json_file: - print file_path - data = json.load(json_file) - if 'lab' in data.keys(): - end_point = "/labs" - if 'experiment' in data.keys(): - end_point = "/experiments" - - data['key'] = 'defaultkey' - APP_URL = URL + end_point - headers = {'Content-Type': 'application/json'} - try: - response = requests.post(APP_URL, data = json.dumps(data), - headers=headers) - if response.status_code == 200: - print "Added json data : " + file_path - else: - print "Errore in adding json file " + file_path + " due to " + response.text - except Exception as e: - print str(e) -try: - exp_file_list = glob.glob(os.getcwd() + "/e9*.json") - lab_file_list = glob.glob(os.getcwd() + "/[!e9]*.json") - - for filename in exp_file_list: - json_path_list.append(filename) -except Exception as e: - print str(e) - -for file_path in json_path_list: - post_lab_spec(file_path) -post_lab_spec(lab_file_list[0]) diff --git a/specifications/iit-kanpur/transducer-and-instrumentation-virtual-lab/e98506.json b/specifications/iit-kanpur/transducer-and-instrumentation-virtual-lab/e98506.json deleted file mode 100644 index 44cb372..0000000 --- a/specifications/iit-kanpur/transducer-and-instrumentation-virtual-lab/e98506.json +++ /dev/null @@ -1,39 +0,0 @@ -{ - "experiment": { - "id": "E98506", - "name": "Data Acquisition", - "overview": "This Experiment deals with Data Acquisition", - "discipline_id": "ece", - "institute_id": "iitk", - "developers": [ - { - "name": "Dr. S. Kamle", - "email": "kamle@iitk.ac.in" - } - ], - "hosting_info": [ - { - "hosting_status": "Hosted", - "hosted_on": "Institute", - "hosted_url": "http://202.3.77.143/virtuallab/Experiment11/index.php" - } - ], - "integration_level": 5, - "assets": [ - { - "asset_type": "sources", - "path": "https://github.com/Virtual-Labs/transducers-and-instrument-vlab-iitk/tree/master/src" - } - ], - "sections": [ - "Aim", - "About", - "Theory", - "Procedure", - "Quiz", - "Perform Experiment", - "Experiment Manual", - "Experiment Demo" - ] - } -} diff --git a/specifications/iit-kanpur/transducer-and-instrumentation-virtual-lab/e98507.json b/specifications/iit-kanpur/transducer-and-instrumentation-virtual-lab/e98507.json deleted file mode 100644 index f623639..0000000 --- a/specifications/iit-kanpur/transducer-and-instrumentation-virtual-lab/e98507.json +++ /dev/null @@ -1,39 +0,0 @@ -{ - "experiment": { - "id": "E98507", - "name": "Speed measurement", - "overview": "This Experiment deals with Speed measurement", - "discipline_id": "ece", - "institute_id": "iitk", - "developers": [ - { - "name": "Dr. S. Kamle", - "email": "kamle@iitk.ac.in" - } - ], - "hosting_info": [ - { - "hosting_status": "Hosted", - "hosted_on": "Institute", - "hosted_url": "http://202.3.77.143/virtuallab/Experiment10/index.php" - } - ], - "integration_level": 5, - "assets": [ - { - "asset_type": "sources", - "path": "https://github.com/Virtual-Labs/transducers-and-instrument-vlab-iitk/tree/master/src" - } - ], - "sections": [ - "Aim", - "About", - "Theory", - "Procedure", - "Quiz", - "Perform Experiment", - "Experiment Manual", - "Experiment Demo" - ] - } -} diff --git a/specifications/iit-kanpur/transducer-and-instrumentation-virtual-lab/e98508.json b/specifications/iit-kanpur/transducer-and-instrumentation-virtual-lab/e98508.json deleted file mode 100644 index d894d66..0000000 --- a/specifications/iit-kanpur/transducer-and-instrumentation-virtual-lab/e98508.json +++ /dev/null @@ -1,39 +0,0 @@ -{ - "experiment": { - "id": "E98508", - "name": "Pressure measurement", - "overview": "This Experiment deals with Pressure measurement", - "discipline_id": "ece", - "institute_id": "iitk", - "developers": [ - { - "name": "Dr. S. Kamle", - "email": "kamle@iitk.ac.in" - } - ], - "hosting_info": [ - { - "hosting_status": "Hosted", - "hosted_on": "Institute", - "hosted_url": "http://202.3.77.143/virtuallab/Experiment9/index.php" - } - ], - "integration_level": 5, - "assets": [ - { - "asset_type": "sources", - "path": "https://github.com/Virtual-Labs/transducers-and-instrument-vlab-iitk/tree/master/src" - } - ], - "sections": [ - "Aim", - "About", - "Theory", - "Procedure", - "Quiz", - "Perform Experiment", - "Experiment Manual", - "Experiment Demo" - ] - } -} diff --git a/specifications/iit-kanpur/transducer-and-instrumentation-virtual-lab/e98509.json b/specifications/iit-kanpur/transducer-and-instrumentation-virtual-lab/e98509.json deleted file mode 100644 index f80e2f1..0000000 --- a/specifications/iit-kanpur/transducer-and-instrumentation-virtual-lab/e98509.json +++ /dev/null @@ -1,39 +0,0 @@ -{ - "experiment": { - "id": "E98509", - "name": "Displacement Transducers", - "overview": "This Experiment deals with Displacement Transducers", - "discipline_id": "ece", - "institute_id": "iitk", - "developers": [ - { - "name": "Dr. S. Kamle", - "email": "kamle@iitk.ac.in" - } - ], - "hosting_info": [ - { - "hosting_status": "Hosted", - "hosted_on": "Institute", - "hosted_url": "http://202.3.77.143/virtuallab/Experiment8/index.php" - } - ], - "integration_level": 5, - "assets": [ - { - "asset_type": "sources", - "path": "https://github.com/Virtual-Labs/transducers-and-instrument-vlab-iitk/tree/master/src" - } - ], - "sections": [ - "Aim", - "About", - "Theory", - "Procedure", - "Quiz", - "Perform Experiment", - "Experiment Manual", - "Experiment Demo" - ] - } -} diff --git a/specifications/iit-kanpur/transducer-and-instrumentation-virtual-lab/e98510.json b/specifications/iit-kanpur/transducer-and-instrumentation-virtual-lab/e98510.json deleted file mode 100644 index fce0cfa..0000000 --- a/specifications/iit-kanpur/transducer-and-instrumentation-virtual-lab/e98510.json +++ /dev/null @@ -1,39 +0,0 @@ -{ - "experiment": { - "id": "E98510", - "name": "R-2R Ladder Network", - "overview": "This Experiment deals with R-2R Ladder Network", - "discipline_id": "ece", - "institute_id": "iitk", - "developers": [ - { - "name": "Dr. S. Kamle", - "email": "kamle@iitk.ac.in" - } - ], - "hosting_info": [ - { - "hosting_status": "Hosted", - "hosted_on": "Institute", - "hosted_url": "http://202.3.77.143/virtuallab/Experiment7/index.php" - } - ], - "integration_level": 5, - "assets": [ - { - "asset_type": "sources", - "path": "https://github.com/Virtual-Labs/transducers-and-instrument-vlab-iitk/tree/master/src" - } - ], - "sections": [ - "Aim", - "About", - "Theory", - "Procedure", - "Quiz", - "Perform Experiment", - "Experiment Manual", - "Experiment Demo" - ] - } -} diff --git a/specifications/iit-kanpur/transducer-and-instrumentation-virtual-lab/e98511.json b/specifications/iit-kanpur/transducer-and-instrumentation-virtual-lab/e98511.json deleted file mode 100644 index 680948d..0000000 --- a/specifications/iit-kanpur/transducer-and-instrumentation-virtual-lab/e98511.json +++ /dev/null @@ -1,39 +0,0 @@ -{ - "experiment": { - "id": "E98511", - "name": "Strain Gauge", - "overview": "This Experiment deals with Strain Gauge", - "discipline_id": "ece", - "institute_id": "iitk", - "developers": [ - { - "name": "Dr. S. Kamle", - "email": "kamle@iitk.ac.in" - } - ], - "hosting_info": [ - { - "hosting_status": "Hosted", - "hosted_on": "Institute", - "hosted_url": "http://202.3.77.143/virtuallab/Experiment6/index.php" - } - ], - "integration_level": 5, - "assets": [ - { - "asset_type": "sources", - "path": "https://github.com/Virtual-Labs/transducers-and-instrument-vlab-iitk/tree/master/src" - } - ], - "sections": [ - "Aim", - "About", - "Theory", - "Procedure", - "Quiz", - "Perform Experiment", - "Experiment Manual", - "Experiment Demo" - ] - } -} diff --git a/specifications/iit-kanpur/transducer-and-instrumentation-virtual-lab/e98512.json b/specifications/iit-kanpur/transducer-and-instrumentation-virtual-lab/e98512.json deleted file mode 100644 index 604b0d2..0000000 --- a/specifications/iit-kanpur/transducer-and-instrumentation-virtual-lab/e98512.json +++ /dev/null @@ -1,39 +0,0 @@ -{ - "experiment": { - "id": "E98512", - "name": "Rotameter", - "overview": "This Experiment deals with Rotameter", - "discipline_id": "ece", - "institute_id": "iitk", - "developers": [ - { - "name": "Dr. S. Kamle", - "email": "kamle@iitk.ac.in" - } - ], - "hosting_info": [ - { - "hosting_status": "Hosted", - "hosted_on": "Institute", - "hosted_url": "http://202.3.77.143/virtuallab/Experiment5/index.php" - } - ], - "integration_level": 5, - "assets": [ - { - "asset_type": "sources", - "path": "https://github.com/Virtual-Labs/transducers-and-instrument-vlab-iitk/tree/master/src" - } - ], - "sections": [ - "Aim", - "About", - "Theory", - "Procedure", - "Quiz", - "Perform Experiment", - "Experiment Manual", - "Experiment Demo" - ] - } -} diff --git a/specifications/iit-kanpur/transducer-and-instrumentation-virtual-lab/e98513.json b/specifications/iit-kanpur/transducer-and-instrumentation-virtual-lab/e98513.json deleted file mode 100644 index 12e7026..0000000 --- a/specifications/iit-kanpur/transducer-and-instrumentation-virtual-lab/e98513.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "experiment": { - "id": "E98513", - "name": "Lissajous Patterns", - "overview": "This Experiment deals with Lissajous Patterns", - "discipline_id": "ece", - "institute_id": "iitk", - "developers": [ - { - "name": "Dr. S. Kamle", - "email": "kamle@iitk.ac.in" - } - ], - "hosting_info": [ - { - "hosting_status": "Hosted", - "hosted_on": "Institute", - "hosted_url": "http://202.3.77.143/virtuallab/Experiment4/index.php" - } - ], - "integration_level": 5, - "assets": [ - { - "asset_type": "sources", - "path": "https://github.com/Virtual-Labs/transducers-and-instrument-vlab-iitk/tree/master/src" - } - ], - "sections": [ - "Aim", - "About", - "Theory", - "Procedure", - "Quiz", - "Perform Experiment", - "Experiment Manual", - "Experiment Demo" - ] - } -} - diff --git a/specifications/iit-kanpur/transducer-and-instrumentation-virtual-lab/e98514.json b/specifications/iit-kanpur/transducer-and-instrumentation-virtual-lab/e98514.json deleted file mode 100644 index f1b9011..0000000 --- a/specifications/iit-kanpur/transducer-and-instrumentation-virtual-lab/e98514.json +++ /dev/null @@ -1,39 +0,0 @@ -{ - "experiment": { - "id": "E98514", - "name": "AC & DC Bridges", - "overview": "This Experiment deals with AC & DC Bridges", - "discipline_id": "ece", - "institute_id": "iitk", - "developers": [ - { - "name": "Dr. S. Kamle", - "email": "kamle@iitk.ac.in" - } - ], - "hosting_info": [ - { - "hosting_status": "Hosted", - "hosted_on": "Institute", - "hosted_url": "http://202.3.77.143/virtuallab/Experiment3/index.php" - } - ], - "integration_level": 5, - "assets": [ - { - "asset_type": "sources", - "path": "https://github.com/Virtual-Labs/transducers-and-instrument-vlab-iitk/tree/master/src" - } - ], - "sections": [ - "Aim", - "About", - "Theory", - "Procedure", - "Quiz", - "Perform Experiment", - "Experiment Manual", - "Experiment Demo" - ] - } -} diff --git a/specifications/iit-kanpur/transducer-and-instrumentation-virtual-lab/e98515.json b/specifications/iit-kanpur/transducer-and-instrumentation-virtual-lab/e98515.json deleted file mode 100644 index aa9e5c7..0000000 --- a/specifications/iit-kanpur/transducer-and-instrumentation-virtual-lab/e98515.json +++ /dev/null @@ -1,39 +0,0 @@ -{ - "experiment": { - "id": "E98515", - "name": "Spectrum Analyzer", - "overview": "This Experiment deals with Spectrum Analyzer", - "discipline_id": "ece", - "institute_id": "iitk", - "developers": [ - { - "name": "Dr. S. Kamle", - "email": "kamle@iitk.ac.in" - } - ], - "hosting_info": [ - { - "hosting_status": "Hosted", - "hosted_on": "Institute", - "hosted_url": "http://202.3.77.143/virtuallab/Experiment2/index.php" - } - ], - "integration_level": 5, - "assets": [ - { - "asset_type": "sources", - "path": "https://github.com/Virtual-Labs/transducers-and-instrument-vlab-iitk/tree/master/src" - } - ], - "sections": [ - "Aim", - "About", - "Theory", - "Procedure", - "Quiz", - "Perform Experiment", - "Experiment Manual", - "Experiment Demo" - ] - } -} diff --git a/specifications/iit-kanpur/transducer-and-instrumentation-virtual-lab/e98516.json b/specifications/iit-kanpur/transducer-and-instrumentation-virtual-lab/e98516.json deleted file mode 100644 index 5aa2f81..0000000 --- a/specifications/iit-kanpur/transducer-and-instrumentation-virtual-lab/e98516.json +++ /dev/null @@ -1,39 +0,0 @@ -{ - "experiment": { - "id": "E98516", - "name": "Temperature Transducers", - "overview": "This Experiment deals with Temperature Transducers", - "discipline_id": "ece", - "institute_id": "iitk", - "developers": [ - { - "name": "Dr. S. Kamle", - "email": "kamle@iitk.ac.in" - } - ], - "hosting_info": [ - { - "hosting_status": "Hosted", - "hosted_on": "Institute", - "hosted_url": "http://202.3.77.143/virtuallab/Experiment1/index.php" - } - ], - "integration_level": 5, - "assets": [ - { - "asset_type": "sources", - "path": "https://github.com/Virtual-Labs/transducers-and-instrument-vlab-iitk/tree/master/src" - } - ], - "sections": [ - "Aim", - "About", - "Theory", - "Procedure", - "Quiz", - "Perform Experiment", - "Experiment Manual", - "Experiment Demo" - ] - } -} diff --git a/specifications/iit-kanpur/transducer-and-instrumentation-virtual-lab/transducer-and-instrumentation-virtual-lab.json b/specifications/iit-kanpur/transducer-and-instrumentation-virtual-lab/transducer-and-instrumentation-virtual-lab.json deleted file mode 100644 index 2fc5784..0000000 --- a/specifications/iit-kanpur/transducer-and-instrumentation-virtual-lab/transducer-and-instrumentation-virtual-lab.json +++ /dev/null @@ -1,49 +0,0 @@ -{ - "lab": { - "id": "ece03", - "name": "Transducer and Instrumentation Virtual Lab", - "overview": "This lab deals with Transducer and Instrumentation Virtual Lab", - "discipline_id": "ece", - "institute_id": "iitk", - "developers": [ - { - "name": "Dr. S. Kamle", - "email": "kamle@iitk.ac.in" - } - ], - "hosting_info": [ - { - "hosting_status": "Hosted", - "hosted_on": "Institute", - "hosted_url": "http://202.3.77.143/virtuallab/" - } - ], - "integration_level": 5, - "assets": [ - { - "asset_type": "sources", - "path": "https://github.com/Virtual-Labs/transducers-and-instrument-vlab-iitk/tree/master/src" - } - ], - "sections": [ - { - "name": "Introduction" - }, - { - "experiments": [ - "e98516", - "e98515", - "e98514", - "e98513", - "e98512", - "e98511", - "e98510", - "e98509", - "e98508", - "e98507", - "e98506" - ] - } - ] - } -} diff --git a/specifications/iit-kharagpur/advanced-network-technologies-virtual-lab/advanced-network-technologies-virtual-lab.json b/specifications/iit-kharagpur/advanced-network-technologies-virtual-lab/advanced-network-technologies-virtual-lab.json deleted file mode 100644 index dc5f727..0000000 --- a/specifications/iit-kharagpur/advanced-network-technologies-virtual-lab/advanced-network-technologies-virtual-lab.json +++ /dev/null @@ -1,43 +0,0 @@ -{ - "lab": { - "id": "VLS09", - "name": "advanced network technologies virtual lab", - "discipline_id": "ece", - "institute_id": "iitkgp", - "developers": [ - { - "name": "Prof. Sudip Misra", - "email": "smisra@sit.iitkgp.ernet.in" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlabs.iitkgp.ernet.in/ant/" - } - ], - "integration_level": 4, - "overview": "This lab deals with advanced network technologies virtual lab", - "assets": [], - "sections": [ - { - "name": "Introduction" - }, - { - "experiments" : [ - "e98973", - "e98972", - "e98971", - "e98970", - "e98969", - "e98968", - "e98967", - "e98966", - "e98965", - "e98964" - ] - } - ] - } -} diff --git a/specifications/iit-kharagpur/advanced-network-technologies-virtual-lab/dump_json_to_lds.py b/specifications/iit-kharagpur/advanced-network-technologies-virtual-lab/dump_json_to_lds.py deleted file mode 100644 index 78c74fa..0000000 --- a/specifications/iit-kharagpur/advanced-network-technologies-virtual-lab/dump_json_to_lds.py +++ /dev/null @@ -1,44 +0,0 @@ - -import os -import os.path -import json -import requests -import glob - -URL= 'http://localhost:5000' -json_path_list = [] - -def post_lab_spec(file_path): - - with open(file_path) as json_file: - print file_path - data = json.load(json_file) - if 'lab' in data.keys(): - end_point = "/labs" - if 'experiment' in data.keys(): - end_point = "/experiments" - - data['key'] = 'defaultkey' - APP_URL = URL + end_point - headers = {'Content-Type': 'application/json'} - try: - response = requests.post(APP_URL, data = json.dumps(data), - headers=headers) - if response.status_code == 200: - print "Added json data : " + file_path - else: - print "Errore in adding json file " + file_path + " due to " + response.text - except Exception as e: - print str(e) -try: - exp_file_list = glob.glob(os.getcwd() + "/e9*.json") - lab_file_list = glob.glob(os.getcwd() + "/[!e9]*.json") - - for filename in exp_file_list: - json_path_list.append(filename) -except Exception as e: - print str(e) - -for file_path in json_path_list: - post_lab_spec(file_path) -post_lab_spec(lab_file_list[0]) diff --git a/specifications/iit-kharagpur/advanced-network-technologies-virtual-lab/e98964.json b/specifications/iit-kharagpur/advanced-network-technologies-virtual-lab/e98964.json deleted file mode 100644 index 08e8373..0000000 --- a/specifications/iit-kharagpur/advanced-network-technologies-virtual-lab/e98964.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "experiment": { - "id": "e98964", - "name": "Setting up a ZigBee Network", - "discipline_id": "ece", - "institute_id": "iitkgp", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlabs.iitkgp.ernet.in/ant/10/" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Setting up a ZigBee Network", - "assets": [], - "sections" : [ - "Introduction", - "Theory", - "Simulation", - "Self-evaluation", - "Procedure", - "Exercises", - "References" - ] - } -} diff --git a/specifications/iit-kharagpur/advanced-network-technologies-virtual-lab/e98965.json b/specifications/iit-kharagpur/advanced-network-technologies-virtual-lab/e98965.json deleted file mode 100644 index ff3a6c9..0000000 --- a/specifications/iit-kharagpur/advanced-network-technologies-virtual-lab/e98965.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "experiment": { - "id": "e98965", - "name": "Setting up a Bluetooth Network", - "discipline_id": "ece", - "institute_id": "iitkgp", - "developers": [ - { - "name": "Prof. Sudip Misra", - "email": "smisra@sit.iitkgp.ernet.in" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlabs.iitkgp.ernet.in/ant/9/" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Setting up a Bluetooth Network", - "assets": [], - "sections" : [ - "Introduction", - "Theory", - "Simulation", - "Self-evaluation", - "Procedure", - "Exercises", - "Reference" - ] - } -} diff --git a/specifications/iit-kharagpur/advanced-network-technologies-virtual-lab/e98966.json b/specifications/iit-kharagpur/advanced-network-technologies-virtual-lab/e98966.json deleted file mode 100644 index d0a665b..0000000 --- a/specifications/iit-kharagpur/advanced-network-technologies-virtual-lab/e98966.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "experiment": { - "id": "e98966", - "name": "Simulating a Wireless Sensor Network", - "discipline_id": "ece", - "institute_id": "iitkgp", - "developers": [ - { - "name": "Prof. Sudip Misra", - "email": "smisra@sit.iitkgp.ernet.in" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlabs.iitkgp.ernet.in/ant/8/" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Simulating a Wireless Sensor Network", - "assets": [], - "sections" : [ - "Introduction", - "Theory", - "Simulation", - "Self-evaluation", - "Procedure", - "Exercises", - "References" - ] - } -} diff --git a/specifications/iit-kharagpur/advanced-network-technologies-virtual-lab/e98967.json b/specifications/iit-kharagpur/advanced-network-technologies-virtual-lab/e98967.json deleted file mode 100644 index 693c353..0000000 --- a/specifications/iit-kharagpur/advanced-network-technologies-virtual-lab/e98967.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "experiment": { - "id": "e98967", - "name": "Simulating a Mobile Adhoc Network", - "discipline_id": "ece", - "institute_id": "iitkgp", - "developers": [ - { - "name": "Prof. Sudip Misra", - "email": "smisra@sit.iitkgp.ernet.in" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlabs.iitkgp.ernet.in/ant/7/" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Simulating a Mobile Adhoc Network", - "assets": [], - "sections" : [ - "Introduction", - "Theory", - "Simulation", - "Self-evaluation", - "Procedure", - "Exercises", - "References" - ] - } -} diff --git a/specifications/iit-kharagpur/advanced-network-technologies-virtual-lab/e98968.json b/specifications/iit-kharagpur/advanced-network-technologies-virtual-lab/e98968.json deleted file mode 100644 index 376a1a2..0000000 --- a/specifications/iit-kharagpur/advanced-network-technologies-virtual-lab/e98968.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "experiment": { - "id": "e98968", - "name": "Simulating a WiMAX Network", - "discipline_id": "ece", - "institute_id": "iitkgp", - "developers": [ - { - "name": "Prof. Sudip Misra", - "email": "smisra@sit.iitkgp.ernet.in" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlabs.iitkgp.ernet.in/ant/6/" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Simulating a WiMAX Network", - "assets": [], - "sections" : [ - "Introduction", - "Theory", - "Simulation", - "Self-evaluation", - "Procedure", - "Exercises", - "References" - ] - } -} diff --git a/specifications/iit-kharagpur/advanced-network-technologies-virtual-lab/e98969.json b/specifications/iit-kharagpur/advanced-network-technologies-virtual-lab/e98969.json deleted file mode 100644 index faa13e7..0000000 --- a/specifications/iit-kharagpur/advanced-network-technologies-virtual-lab/e98969.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "experiment": { - "id": "e98969", - "name": "Simulating a Wi-Fi Network", - "discipline_id": "ece", - "institute_id": "iitkgp", - "developers": [ - { - "name": "Prof. Sudip Misra", - "email": "smisra@sit.iitkgp.ernet.in" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlabs.iitkgp.ernet.in/ant/5/" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Simulating a Wi-Fi Network", - "assets": [], - "sections" : [ - "Introduction", - "Theory", - "Simulation", - "Self-evaluation", - "Procedure", - "Exercises", - "References" - ] - } -} diff --git a/specifications/iit-kharagpur/advanced-network-technologies-virtual-lab/e98970.json b/specifications/iit-kharagpur/advanced-network-technologies-virtual-lab/e98970.json deleted file mode 100644 index a1f578c..0000000 --- a/specifications/iit-kharagpur/advanced-network-technologies-virtual-lab/e98970.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "experiment": { - "id": "e98970", - "name": "Simulation of a Satellite Network", - "discipline_id": "ece", - "institute_id": "iitkgp", - "developers": [ - { - "name": "Prof. Sudip Misra", - "email": "smisra@sit.iitkgp.ernet.in" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlabs.iitkgp.ernet.in/ant/4/" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Simulation of a Satellite Network", - "assets": [], - "sections" : [ - "Introduction", - "Theory", - "Simulation", - "Self-evaluation", - "Procedure", - "Exercises", - "References" - ] - } -} diff --git a/specifications/iit-kharagpur/advanced-network-technologies-virtual-lab/e98971.json b/specifications/iit-kharagpur/advanced-network-technologies-virtual-lab/e98971.json deleted file mode 100644 index 41762e7..0000000 --- a/specifications/iit-kharagpur/advanced-network-technologies-virtual-lab/e98971.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "experiment": { - "id": "e98971", - "name": "Measuring Network Performance", - "discipline_id": "ece", - "institute_id": "iitkgp", - "developers": [ - { - "name": "Prof. Sudip Misra", - "email": "smisra@sit.iitkgp.ernet.in" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlabs.iitkgp.ernet.in/ant/3/" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Measuring Network Performance", - "assets": [], - "sections" : [ - "Introduction", - "Theory", - "Simulation", - "Self-evaluation", - "Procedure", - "Exercises", - "References" - ] - } -} diff --git a/specifications/iit-kharagpur/advanced-network-technologies-virtual-lab/e98972.json b/specifications/iit-kharagpur/advanced-network-technologies-virtual-lab/e98972.json deleted file mode 100644 index a77ef3e..0000000 --- a/specifications/iit-kharagpur/advanced-network-technologies-virtual-lab/e98972.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "experiment": { - "id": "e98972", - "name": "Simulating a Local Area Network", - "discipline_id": "ece", - "institute_id": "iitkgp", - "developers": [ - { - "name": "Prof. Sudip Misra", - "email": "smisra@sit.iitkgp.ernet.in" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlabs.iitkgp.ernet.in/ant/2/" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Simulating a Local Area Network", - "assets": [], - "sections" : [ - "Introduction", - "Theory", - "Simulation", - "Self-evaluation", - "Procedure", - "Exercises", - "References" - ] - } -} diff --git a/specifications/iit-kharagpur/advanced-network-technologies-virtual-lab/e98973.json b/specifications/iit-kharagpur/advanced-network-technologies-virtual-lab/e98973.json deleted file mode 100644 index 78e3878..0000000 --- a/specifications/iit-kharagpur/advanced-network-technologies-virtual-lab/e98973.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "experiment": { - "id": "e98973", - "name": "Basics of Network Simulation", - "discipline_id": "ece", - "institute_id": "iitkgp", - "developers": [ - { - "name": "Prof. Sudip Misra", - "email": "smisra@sit.iitkgp.ernet.in" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlabs.iitkgp.ernet.in/ant/1/" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Basics of Network Simulation", - "assets": [], - "sections" : [ - "Introduction", - "Theory", - "Simulation", - "Self-evaluation", - "Procedure", - "Exercises", - "References" - ] - } -} diff --git a/specifications/iit-kharagpur/analog-signals,network-and-measurement-laboratory/analog-signals,network-and-measurement-laboratory.json b/specifications/iit-kharagpur/analog-signals,network-and-measurement-laboratory/analog-signals,network-and-measurement-laboratory.json deleted file mode 100644 index d84ba76..0000000 --- a/specifications/iit-kharagpur/analog-signals,network-and-measurement-laboratory/analog-signals,network-and-measurement-laboratory.json +++ /dev/null @@ -1,63 +0,0 @@ -{ - "lab": { - "id": "VLS18", - "name": "analog signals,network and measurement laboratory", - "discipline_id": "ee", - "institute_id": "iitkgp", - "developers": [ - { - "name": "Prof. A K Deb", - "email": "alokkanti@ee.iitkgp.ernet.in" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlabs.iitkgp.ernet.in/asnm/" - } - ], - "integration_level": 4, - "overview": "This lab deals with analog signals,network and measurement laboratory", - "assets": [], - "sections": [ - { - "name": "Introduction" - }, - { - "experiments" : [ - "e99135", - "e99134", - "e99133", - "e99132", - "e99131", - "e99130", - "e99129", - "e99128", - "e99127", - "e99126", - "e99125", - "e99124", - "e99123", - "e99122", - "e99121", - "e99120", - "e99119", - "e99118", - "e99117", - "e99116", - "e99115", - "e99114", - "e99113", - "e99112", - "e99111", - "e99110", - "e99109", - "e99108", - "e99107", - "e99106" - ] - } - ] - } -} diff --git a/specifications/iit-kharagpur/analog-signals,network-and-measurement-laboratory/dump_json_to_lds.py b/specifications/iit-kharagpur/analog-signals,network-and-measurement-laboratory/dump_json_to_lds.py deleted file mode 100644 index 78c74fa..0000000 --- a/specifications/iit-kharagpur/analog-signals,network-and-measurement-laboratory/dump_json_to_lds.py +++ /dev/null @@ -1,44 +0,0 @@ - -import os -import os.path -import json -import requests -import glob - -URL= 'http://localhost:5000' -json_path_list = [] - -def post_lab_spec(file_path): - - with open(file_path) as json_file: - print file_path - data = json.load(json_file) - if 'lab' in data.keys(): - end_point = "/labs" - if 'experiment' in data.keys(): - end_point = "/experiments" - - data['key'] = 'defaultkey' - APP_URL = URL + end_point - headers = {'Content-Type': 'application/json'} - try: - response = requests.post(APP_URL, data = json.dumps(data), - headers=headers) - if response.status_code == 200: - print "Added json data : " + file_path - else: - print "Errore in adding json file " + file_path + " due to " + response.text - except Exception as e: - print str(e) -try: - exp_file_list = glob.glob(os.getcwd() + "/e9*.json") - lab_file_list = glob.glob(os.getcwd() + "/[!e9]*.json") - - for filename in exp_file_list: - json_path_list.append(filename) -except Exception as e: - print str(e) - -for file_path in json_path_list: - post_lab_spec(file_path) -post_lab_spec(lab_file_list[0]) diff --git a/specifications/iit-kharagpur/analog-signals,network-and-measurement-laboratory/e99106.json b/specifications/iit-kharagpur/analog-signals,network-and-measurement-laboratory/e99106.json deleted file mode 100644 index 633e8bb..0000000 --- a/specifications/iit-kharagpur/analog-signals,network-and-measurement-laboratory/e99106.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "experiment": { - "id": "e99106", - "name": "Mutual Inductance measurement by Heydweiller Bridge", - "discipline_id": "ee", - "institute_id": "iitkgp", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlabs.iitkgp.ernet.in/asnm/#" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Mutual Inductance measurement by Heydweiller Bridge", - "assets": [], - "sections" : [ - "Introduction", - "List of experiments", - "People", - "Feedback" - ] - } -} diff --git a/specifications/iit-kharagpur/analog-signals,network-and-measurement-laboratory/e99107.json b/specifications/iit-kharagpur/analog-signals,network-and-measurement-laboratory/e99107.json deleted file mode 100644 index 34a80b0..0000000 --- a/specifications/iit-kharagpur/analog-signals,network-and-measurement-laboratory/e99107.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "experiment": { - "id": "e99107", - "name": "Precision Resistance Measurement by Carey Foster Slide-Wire Bridge", - "discipline_id": "ee", - "institute_id": "iitkgp", - "developers": [ - { - "name": "Prof. A K Deb", - "email": "alokkanti@ee.iitkgp.ernet.in" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlabs.iitkgp.ernet.in/asnm/#" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Precision Resistance Measurement by Carey Foster Slide-Wire Bridge", - "assets": [], - "sections" : [ - "Introduction", - "List of experiments", - "People", - "Feedback" - ] - } -} diff --git a/specifications/iit-kharagpur/analog-signals,network-and-measurement-laboratory/e99108.json b/specifications/iit-kharagpur/analog-signals,network-and-measurement-laboratory/e99108.json deleted file mode 100644 index d841240..0000000 --- a/specifications/iit-kharagpur/analog-signals,network-and-measurement-laboratory/e99108.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "experiment": { - "id": "e99108", - "name": "To determine the High Resistance by Megohm Bridge method", - "discipline_id": "ee", - "institute_id": "iitkgp", - "developers": [ - { - "name": "Prof. A K Deb", - "email": "alokkanti@ee.iitkgp.ernet.in" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlabs.iitkgp.ernet.in/asnm/#" - } - ], - "integration_level": 4, - "overview": "This experiments deals with To determine the High Resistance by Megohm Bridge method", - "assets": [], - "sections" : [ - "Introduction", - "List of experiments", - "People", - "Feedback" - ] - } -} diff --git a/specifications/iit-kharagpur/analog-signals,network-and-measurement-laboratory/e99109.json b/specifications/iit-kharagpur/analog-signals,network-and-measurement-laboratory/e99109.json deleted file mode 100644 index 858800a..0000000 --- a/specifications/iit-kharagpur/analog-signals,network-and-measurement-laboratory/e99109.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "experiment": { - "id": "e99109", - "name": "To determine Mutual Inductance measurement by Campbell's Modification of Heaviside Bridge", - "discipline_id": "ee", - "institute_id": "iitkgp", - "developers": [ - { - "name": "Prof. A K Deb", - "email": "alokkanti@ee.iitkgp.ernet.in" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlabs.iitkgp.ernet.in/asnm/#" - } - ], - "integration_level": 4, - "overview": "This experiments deals with To determine Mutual Inductance measurement by Campbell's Modification of Heaviside Bridge", - "assets": [], - "sections" : [ - "Introduction", - "List of experiments", - "People", - "Feedback" - ] - } -} diff --git a/specifications/iit-kharagpur/analog-signals,network-and-measurement-laboratory/e99110.json b/specifications/iit-kharagpur/analog-signals,network-and-measurement-laboratory/e99110.json deleted file mode 100644 index a3d2106..0000000 --- a/specifications/iit-kharagpur/analog-signals,network-and-measurement-laboratory/e99110.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "experiment": { - "id": "e99110", - "name": "To find Galvanometer Constant", - "discipline_id": "ee", - "institute_id": "iitkgp", - "developers": [ - { - "name": "Prof. A K Deb", - "email": "alokkanti@ee.iitkgp.ernet.in" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlabs.iitkgp.ernet.in/asnm/#" - } - ], - "integration_level": 4, - "overview": "This experiments deals with To find Galvanometer Constant", - "assets": [], - "sections" : [ - "Introduction", - "List of experiments", - "People", - "Feedback" - ] - } -} diff --git a/specifications/iit-kharagpur/analog-signals,network-and-measurement-laboratory/e99111.json b/specifications/iit-kharagpur/analog-signals,network-and-measurement-laboratory/e99111.json deleted file mode 100644 index d0892e7..0000000 --- a/specifications/iit-kharagpur/analog-signals,network-and-measurement-laboratory/e99111.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "experiment": { - "id": "e99111", - "name": "To study the Wien Robinson's Frequency Bridge", - "discipline_id": "ee", - "institute_id": "iitkgp", - "developers": [ - { - "name": "Prof. A K Deb", - "email": "alokkanti@ee.iitkgp.ernet.in" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlabs.iitkgp.ernet.in/asnm/#" - } - ], - "integration_level": 4, - "overview": "This experiments deals with To study the Wien Robinson's Frequency Bridge", - "assets": [], - "sections" : [ - "Introduction", - "List of experiments", - "People", - "Feedback" - ] - } -} diff --git a/specifications/iit-kharagpur/analog-signals,network-and-measurement-laboratory/e99112.json b/specifications/iit-kharagpur/analog-signals,network-and-measurement-laboratory/e99112.json deleted file mode 100644 index 93176d3..0000000 --- a/specifications/iit-kharagpur/analog-signals,network-and-measurement-laboratory/e99112.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "experiment": { - "id": "e99112", - "name": "Measurement of Self Inductance accurately by Anderson's Bridge", - "discipline_id": "ee", - "institute_id": "iitkgp", - "developers": [ - { - "name": "Prof. A K Deb", - "email": "alokkanti@ee.iitkgp.ernet.in" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlabs.iitkgp.ernet.in/asnm/exp23/index.html" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Measurement of Self Inductance accurately by Anderson's Bridge", - "assets": [], - "sections" : [ - "Theory", - "Procedure", - "Operating Environment", - "Simulator", - "Quiz", - "Reference" - ] - } -} diff --git a/specifications/iit-kharagpur/analog-signals,network-and-measurement-laboratory/e99113.json b/specifications/iit-kharagpur/analog-signals,network-and-measurement-laboratory/e99113.json deleted file mode 100644 index bc36574..0000000 --- a/specifications/iit-kharagpur/analog-signals,network-and-measurement-laboratory/e99113.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "experiment": { - "id": "e99113", - "name": "Measurement of Capacitance by Schering Bridge", - "discipline_id": "ee", - "institute_id": "iitkgp", - "developers": [ - { - "name": "Prof. A K Deb", - "email": "alokkanti@ee.iitkgp.ernet.in" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlabs.iitkgp.ernet.in/asnm/exp21/index.html" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Measurement of Capacitance by Schering Bridge", - "assets": [], - "sections" : [ - "Theory", - "Procedure", - "Operating Environment", - "Simulator", - "Quiz", - "Reference" - ] - } -} diff --git a/specifications/iit-kharagpur/analog-signals,network-and-measurement-laboratory/e99114.json b/specifications/iit-kharagpur/analog-signals,network-and-measurement-laboratory/e99114.json deleted file mode 100644 index a087ebc..0000000 --- a/specifications/iit-kharagpur/analog-signals,network-and-measurement-laboratory/e99114.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "experiment": { - "id": "e99114", - "name": "Measurement of Self-Inductance by Maxwell Bridge", - "discipline_id": "ee", - "institute_id": "iitkgp", - "developers": [ - { - "name": "Prof. A K Deb", - "email": "alokkanti@ee.iitkgp.ernet.in" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlabs.iitkgp.ernet.in/asnm/exp22/index.html" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Measurement of Self-Inductance by Maxwell Bridge", - "assets": [], - "sections" : [ - "Theory", - "Procedure", - "Operating Environment", - "Simulator", - "Quiz", - "Reference" - ] - } -} diff --git a/specifications/iit-kharagpur/analog-signals,network-and-measurement-laboratory/e99115.json b/specifications/iit-kharagpur/analog-signals,network-and-measurement-laboratory/e99115.json deleted file mode 100644 index b088f0a..0000000 --- a/specifications/iit-kharagpur/analog-signals,network-and-measurement-laboratory/e99115.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "experiment": { - "id": "e99115", - "name": "Mesurement of Self Inductance by Owen Bridge", - "discipline_id": "ee", - "institute_id": "iitkgp", - "developers": [ - { - "name": "Prof. A K Deb", - "email": "alokkanti@ee.iitkgp.ernet.in" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlabs.iitkgp.ernet.in/asnm/exp20/index.html" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Mesurement of Self Inductance by Owen Bridge", - "assets": [], - "sections" : [ - "Theory", - "Procedure", - "Operating Environment", - "Simulator", - "Quiz", - "Reference" - ] - } -} diff --git a/specifications/iit-kharagpur/analog-signals,network-and-measurement-laboratory/e99116.json b/specifications/iit-kharagpur/analog-signals,network-and-measurement-laboratory/e99116.json deleted file mode 100644 index 3de91a3..0000000 --- a/specifications/iit-kharagpur/analog-signals,network-and-measurement-laboratory/e99116.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "experiment": { - "id": "e99116", - "name": "Measurement of Capacitance by De Sauty's (Modified) bridge", - "discipline_id": "ee", - "institute_id": "iitkgp", - "developers": [ - { - "name": "Prof. A K Deb", - "email": "alokkanti@ee.iitkgp.ernet.in" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlabs.iitkgp.ernet.in/asnm/exp17/index.html" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Measurement of Capacitance by De Sauty's (Modified) bridge", - "assets": [], - "sections" : [ - "Theory", - "Procedure", - "Operating Environment", - "Simulator", - "Quiz", - "Reference" - ] - } -} diff --git a/specifications/iit-kharagpur/analog-signals,network-and-measurement-laboratory/e99117.json b/specifications/iit-kharagpur/analog-signals,network-and-measurement-laboratory/e99117.json deleted file mode 100644 index d9a769e..0000000 --- a/specifications/iit-kharagpur/analog-signals,network-and-measurement-laboratory/e99117.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "experiment": { - "id": "e99117", - "name": "Measurement of Capacitance by Wien Series Bridge", - "discipline_id": "ee", - "institute_id": "iitkgp", - "developers": [ - { - "name": "Prof. A K Deb", - "email": "alokkanti@ee.iitkgp.ernet.in" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlabs.iitkgp.ernet.in/asnm/exp16/index.html" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Measurement of Capacitance by Wien Series Bridge", - "assets": [], - "sections" : [ - "Theory", - "Procedure", - "Operating Environment", - "Simulator", - "Quiz", - "Reference" - ] - } -} diff --git a/specifications/iit-kharagpur/analog-signals,network-and-measurement-laboratory/e99118.json b/specifications/iit-kharagpur/analog-signals,network-and-measurement-laboratory/e99118.json deleted file mode 100644 index a3a3915..0000000 --- a/specifications/iit-kharagpur/analog-signals,network-and-measurement-laboratory/e99118.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "experiment": { - "id": "e99118", - "name": "Q meter Experiment", - "discipline_id": "ee", - "institute_id": "iitkgp", - "developers": [ - { - "name": "Prof. A K Deb", - "email": "alokkanti@ee.iitkgp.ernet.in" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlabs.iitkgp.ernet.in/asnm/exp14/index.html" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Q meter Experiment", - "assets": [], - "sections" : [ - "Theory", - "Procedure", - "Operating Environment", - "Simulator", - "Quiz", - "Reference" - ] - } -} diff --git a/specifications/iit-kharagpur/analog-signals,network-and-measurement-laboratory/e99119.json b/specifications/iit-kharagpur/analog-signals,network-and-measurement-laboratory/e99119.json deleted file mode 100644 index a47b0d1..0000000 --- a/specifications/iit-kharagpur/analog-signals,network-and-measurement-laboratory/e99119.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "experiment": { - "id": "e99119", - "name": "Measurement of Self Inductance by Maxwell's Bridge", - "discipline_id": "ee", - "institute_id": "iitkgp", - "developers": [ - { - "name": "Prof. A K Deb", - "email": "alokkanti@ee.iitkgp.ernet.in" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlabs.iitkgp.ernet.in/asnm/exp11/index.html" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Measurement of Self Inductance by Maxwell's Bridge", - "assets": [], - "sections" : [ - "Theory", - "Procedure", - "Operating Environment", - "Simulator", - "Quiz", - "Reference" - ] - } -} diff --git a/specifications/iit-kharagpur/analog-signals,network-and-measurement-laboratory/e99120.json b/specifications/iit-kharagpur/analog-signals,network-and-measurement-laboratory/e99120.json deleted file mode 100644 index 3d9676e..0000000 --- a/specifications/iit-kharagpur/analog-signals,network-and-measurement-laboratory/e99120.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "experiment": { - "id": "e99120", - "name": "To study the Kelvin Double Bridge for Low resistance measurement", - "discipline_id": "ee", - "institute_id": "iitkgp", - "developers": [ - { - "name": "Prof. A K Deb", - "email": "alokkanti@ee.iitkgp.ernet.in" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlabs.iitkgp.ernet.in/asnm/exp10/index.html" - } - ], - "integration_level": 4, - "overview": "This experiments deals with To study the Kelvin Double Bridge for Low resistance measurement", - "assets": [], - "sections" : [ - "Theory", - "Procedure", - "Operating Environment", - "Simulator", - "Quiz", - "Reference" - ] - } -} diff --git a/specifications/iit-kharagpur/analog-signals,network-and-measurement-laboratory/e99121.json b/specifications/iit-kharagpur/analog-signals,network-and-measurement-laboratory/e99121.json deleted file mode 100644 index d6ea9f6..0000000 --- a/specifications/iit-kharagpur/analog-signals,network-and-measurement-laboratory/e99121.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "experiment": { - "id": "e99121", - "name": "Measurement of Self Inductance of High Quality Factor Coil by Hay's Bridge", - "discipline_id": "ee", - "institute_id": "iitkgp", - "developers": [ - { - "name": "Prof. A K Deb", - "email": "alokkanti@ee.iitkgp.ernet.in" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlabs.iitkgp.ernet.in/asnm/exp9/index.html" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Measurement of Self Inductance of High Quality Factor Coil by Hay's Bridge", - "assets": [], - "sections" : [ - "Theory", - "Procedure", - "Operating Environment", - "Simulator", - "Quiz", - "Reference" - ] - } -} diff --git a/specifications/iit-kharagpur/analog-signals,network-and-measurement-laboratory/e99122.json b/specifications/iit-kharagpur/analog-signals,network-and-measurement-laboratory/e99122.json deleted file mode 100644 index 05fb8eb..0000000 --- a/specifications/iit-kharagpur/analog-signals,network-and-measurement-laboratory/e99122.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "experiment": { - "id": "e99122", - "name": "Measurement of Capacitance by Carey Foster Bridge", - "discipline_id": "ee", - "institute_id": "iitkgp", - "developers": [ - { - "name": "Prof. A K Deb", - "email": "alokkanti@ee.iitkgp.ernet.in" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlabs.iitkgp.ernet.in/asnm/exp8/index.html" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Measurement of Capacitance by Carey Foster Bridge", - "assets": [], - "sections" : [ - "Theory", - "Procedure", - "Operating Environment", - "Simulator", - "Quiz", - "Reference" - ] - } -} diff --git a/specifications/iit-kharagpur/analog-signals,network-and-measurement-laboratory/e99123.json b/specifications/iit-kharagpur/analog-signals,network-and-measurement-laboratory/e99123.json deleted file mode 100644 index 8e303fd..0000000 --- a/specifications/iit-kharagpur/analog-signals,network-and-measurement-laboratory/e99123.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "experiment": { - "id": "e99123", - "name": "Determination of different parameters of Two-port network and verification of their interrelations", - "discipline_id": "ee", - "institute_id": "iitkgp", - "developers": [ - { - "name": "Prof. A K Deb", - "email": "alokkanti@ee.iitkgp.ernet.in" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlabs.iitkgp.ernet.in/asnm/exp13/index.html" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Determination of different parameters of Two-port network and verification of their interrelations", - "assets": [], - "sections" : [ - "Theory", - "Procedure", - "Operating Environment", - "Simulator", - "Quiz", - "Reference" - ] - } -} diff --git a/specifications/iit-kharagpur/analog-signals,network-and-measurement-laboratory/e99124.json b/specifications/iit-kharagpur/analog-signals,network-and-measurement-laboratory/e99124.json deleted file mode 100644 index 26dd54f..0000000 --- a/specifications/iit-kharagpur/analog-signals,network-and-measurement-laboratory/e99124.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "experiment": { - "id": "e99124", - "name": "Measurement of Self Inductance by Maxwell Bridge", - "discipline_id": "ee", - "institute_id": "iitkgp", - "developers": [ - { - "name": "Prof. A K Deb", - "email": "alokkanti@ee.iitkgp.ernet.in" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlabs.iitkgp.ernet.in/asnm/exp22/index.html" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Measurement of Self Inductance by Maxwell Bridge", - "assets": [], - "sections" : [ - "Theory", - "Procedure", - "Operating Environment", - "Simulator", - "Quiz", - "Reference" - ] - } -} diff --git a/specifications/iit-kharagpur/analog-signals,network-and-measurement-laboratory/e99125.json b/specifications/iit-kharagpur/analog-signals,network-and-measurement-laboratory/e99125.json deleted file mode 100644 index df92cbd..0000000 --- a/specifications/iit-kharagpur/analog-signals,network-and-measurement-laboratory/e99125.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "experiment": { - "id": "e99125", - "name": "Verification of Maximum Power Transfer Theorem", - "discipline_id": "ee", - "institute_id": "iitkgp", - "developers": [ - { - "name": "Prof. A K Deb", - "email": "alokkanti@ee.iitkgp.ernet.in" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlabs.iitkgp.ernet.in/asnm/exp6/index.html" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Verification of Maximum Power Transfer Theorem", - "assets": [], - "sections" : [ - "Theory", - "Procedure", - "Operating Environment", - "Simulator", - "Quiz", - "Reference" - ] - } -} diff --git a/specifications/iit-kharagpur/analog-signals,network-and-measurement-laboratory/e99126.json b/specifications/iit-kharagpur/analog-signals,network-and-measurement-laboratory/e99126.json deleted file mode 100644 index 4b04e19..0000000 --- a/specifications/iit-kharagpur/analog-signals,network-and-measurement-laboratory/e99126.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "experiment": { - "id": "e99126", - "name": "Verification of Reciprocity Theorem", - "discipline_id": "ee", - "institute_id": "iitkgp", - "developers": [ - { - "name": "Prof. A K Deb", - "email": "alokkanti@ee.iitkgp.ernet.in" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlabs.iitkgp.ernet.in/asnm/exp1/index.html" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Verification of Reciprocity Theorem", - "assets": [], - "sections" : [ - "Theory", - "Procedure", - "Operating Environment", - "Simulator", - "Quiz", - "Reference" - ] - } -} diff --git a/specifications/iit-kharagpur/analog-signals,network-and-measurement-laboratory/e99127.json b/specifications/iit-kharagpur/analog-signals,network-and-measurement-laboratory/e99127.json deleted file mode 100644 index bb8ba89..0000000 --- a/specifications/iit-kharagpur/analog-signals,network-and-measurement-laboratory/e99127.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "experiment": { - "id": "e99127", - "name": "Verification of Compensation Theorem", - "discipline_id": "ee", - "institute_id": "iitkgp", - "developers": [ - { - "name": "Prof. A K Deb", - "email": "alokkanti@ee.iitkgp.ernet.in" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlabs.iitkgp.ernet.in/asnm/exp15/index.html" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Verification of Compensation Theorem", - "assets": [], - "sections" : [ - "Theory", - "Procedure", - "Operating Environment", - "Simulator", - "Quizzes", - "Reference" - ] - } -} diff --git a/specifications/iit-kharagpur/analog-signals,network-and-measurement-laboratory/e99128.json b/specifications/iit-kharagpur/analog-signals,network-and-measurement-laboratory/e99128.json deleted file mode 100644 index d8a94c1..0000000 --- a/specifications/iit-kharagpur/analog-signals,network-and-measurement-laboratory/e99128.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "experiment": { - "id": "e99128", - "name": "Tests on Single Phase Transformer", - "discipline_id": "ee", - "institute_id": "iitkgp", - "developers": [ - { - "name": "Prof. A K Deb", - "email": "alokkanti@ee.iitkgp.ernet.in" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlabs.iitkgp.ernet.in/asnm/exp19/index.html" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Tests on Single Phase Transformer", - "assets": [], - "sections" : [ - "Theory", - "Procedure", - "Operating Environment", - "Simulator", - "Quiz", - "Reference" - ] - } -} diff --git a/specifications/iit-kharagpur/analog-signals,network-and-measurement-laboratory/e99129.json b/specifications/iit-kharagpur/analog-signals,network-and-measurement-laboratory/e99129.json deleted file mode 100644 index 2b1c98e..0000000 --- a/specifications/iit-kharagpur/analog-signals,network-and-measurement-laboratory/e99129.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "experiment": { - "id": "e99129", - "name": "R-L-C Circuit Analysis", - "discipline_id": "ee", - "institute_id": "iitkgp", - "developers": [ - { - "name": "Prof. A K Deb", - "email": "alokkanti@ee.iitkgp.ernet.in" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlabs.iitkgp.ernet.in/asnm/exp12/index.html" - } - ], - "integration_level": 4, - "overview": "This experiments deals with R-L-C Circuit Analysis", - "assets": [], - "sections" : [ - "Theory", - "Procedure", - "Operating Environment", - "Simulator", - "Quiz", - "Reference" - ] - } -} diff --git a/specifications/iit-kharagpur/analog-signals,network-and-measurement-laboratory/e99130.json b/specifications/iit-kharagpur/analog-signals,network-and-measurement-laboratory/e99130.json deleted file mode 100644 index 2cc2e92..0000000 --- a/specifications/iit-kharagpur/analog-signals,network-and-measurement-laboratory/e99130.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "experiment": { - "id": "e99130", - "name": "Three Phase Power Measurement", - "discipline_id": "ee", - "institute_id": "iitkgp", - "developers": [ - { - "name": "Prof. A K Deb", - "email": "alokkanti@ee.iitkgp.ernet.in" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlabs.iitkgp.ernet.in/asnm/exp7/index.html" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Three Phase Power Measurement", - "assets": [], - "sections" : [ - "Theory", - "Procedure", - "Operating Environment", - "Simulator", - "Quiz", - "Reference" - ] - } -} diff --git a/specifications/iit-kharagpur/analog-signals,network-and-measurement-laboratory/e99131.json b/specifications/iit-kharagpur/analog-signals,network-and-measurement-laboratory/e99131.json deleted file mode 100644 index 7779ac2..0000000 --- a/specifications/iit-kharagpur/analog-signals,network-and-measurement-laboratory/e99131.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "experiment": { - "id": "e99131", - "name": "Verification of Millmans Theorem", - "discipline_id": "ee", - "institute_id": "iitkgp", - "developers": [ - { - "name": "Prof. A K Deb", - "email": "alokkanti@ee.iitkgp.ernet.in" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlabs.iitkgp.ernet.in/asnm/exp18/index.html" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Verification of Millmans Theorem", - "assets": [], - "sections" : [ - "Theory", - "Procedure", - "Operating Environment", - "Simulator", - "Quiz", - "Reference" - ] - } -} diff --git a/specifications/iit-kharagpur/analog-signals,network-and-measurement-laboratory/e99132.json b/specifications/iit-kharagpur/analog-signals,network-and-measurement-laboratory/e99132.json deleted file mode 100644 index 1b74c60..0000000 --- a/specifications/iit-kharagpur/analog-signals,network-and-measurement-laboratory/e99132.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "experiment": { - "id": "e99132", - "name": "Verification of Superposition Theorem", - "discipline_id": "ee", - "institute_id": "iitkgp", - "developers": [ - { - "name": "Prof. A K Deb", - "email": "alokkanti@ee.iitkgp.ernet.in" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlabs.iitkgp.ernet.in/asnm/exp5/index.html" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Verification of Superposition Theorem", - "assets": [], - "sections" : [ - "Theory", - "Procedure", - "Operating Environment", - "Simulator", - "Quiz", - "Reference" - ] - } -} diff --git a/specifications/iit-kharagpur/analog-signals,network-and-measurement-laboratory/e99133.json b/specifications/iit-kharagpur/analog-signals,network-and-measurement-laboratory/e99133.json deleted file mode 100644 index 2824e05..0000000 --- a/specifications/iit-kharagpur/analog-signals,network-and-measurement-laboratory/e99133.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "experiment": { - "id": "e99133", - "name": "Verification of Tellegen's Theorem", - "discipline_id": "ee", - "institute_id": "iitkgp", - "developers": [ - { - "name": "Prof. A K Deb", - "email": "alokkanti@ee.iitkgp.ernet.in" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlabs.iitkgp.ernet.in/asnm/exp4/index.html" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Verification of Tellegen's Theorem", - "assets": [], - "sections" : [ - "Theory", - "Procedure", - "Operating Environment", - "Simulator", - "Quiz", - "Reference" - ] - } -} diff --git a/specifications/iit-kharagpur/analog-signals,network-and-measurement-laboratory/e99134.json b/specifications/iit-kharagpur/analog-signals,network-and-measurement-laboratory/e99134.json deleted file mode 100644 index 8c29ace..0000000 --- a/specifications/iit-kharagpur/analog-signals,network-and-measurement-laboratory/e99134.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "experiment": { - "id": "e99134", - "name": "Verification of Thevenin Theorem", - "discipline_id": "ee", - "institute_id": "iitkgp", - "developers": [ - { - "name": "Prof. A K Deb", - "email": "alokkanti@ee.iitkgp.ernet.in" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlabs.iitkgp.ernet.in/asnm/exp3/index.html" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Verification of Thevenin Theorem", - "assets": [], - "sections" : [ - "Theory", - "Procedure", - "Operating Environment", - "Simulator", - "Quiz", - "Reference" - ] - } -} diff --git a/specifications/iit-kharagpur/analog-signals,network-and-measurement-laboratory/e99135.json b/specifications/iit-kharagpur/analog-signals,network-and-measurement-laboratory/e99135.json deleted file mode 100644 index e92d9d0..0000000 --- a/specifications/iit-kharagpur/analog-signals,network-and-measurement-laboratory/e99135.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "experiment": { - "id": "e99135", - "name": "Verification of Norton Theorem", - "discipline_id": "ee", - "institute_id": "iitkgp", - "developers": [ - { - "name": "Prof. A K Deb", - "email": "alokkanti@ee.iitkgp.ernet.in" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlabs.iitkgp.ernet.in/asnm/exp2/index.html" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Verification of Norton Theorem", - "assets": [], - "sections" : [ - "Theory", - "Procedure", - "Operating Environment", - "Simulator", - "Quiz", - "Reference" - ] - } -} diff --git a/specifications/iit-kharagpur/chemical-process-dynamics-laboratory/chemical-process-dynamics-laboratory.json b/specifications/iit-kharagpur/chemical-process-dynamics-laboratory/chemical-process-dynamics-laboratory.json deleted file mode 100644 index 3bb4977..0000000 --- a/specifications/iit-kharagpur/chemical-process-dynamics-laboratory/chemical-process-dynamics-laboratory.json +++ /dev/null @@ -1,41 +0,0 @@ -{ - "lab": { - "id": "VLS14", - "name": "chemical process dynamics laboratory", - "discipline_id": "chem-engg", - "institute_id": "iitkgp", - "developers": [ - { - "name": "Prof. Amiya Kumar Jana", - "email": "akjana@che.iitkgp.ernet.in" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlabs.iitkgp.ernet.in/cpd/" - } - ], - "integration_level": 4, - "overview": "This lab deals with chemical process dynamics laboratory", - "assets": [], - "sections": [ - { - "name": "Introduction" - }, - { - "experiments" : [ - "e99176", - "e99175", - "e99174", - "e99173", - "e99172", - "e99171", - "e99170", - "e99169" - ] - } - ] - } -} diff --git a/specifications/iit-kharagpur/chemical-process-dynamics-laboratory/dump_json_to_lds.py b/specifications/iit-kharagpur/chemical-process-dynamics-laboratory/dump_json_to_lds.py deleted file mode 100644 index 78c74fa..0000000 --- a/specifications/iit-kharagpur/chemical-process-dynamics-laboratory/dump_json_to_lds.py +++ /dev/null @@ -1,44 +0,0 @@ - -import os -import os.path -import json -import requests -import glob - -URL= 'http://localhost:5000' -json_path_list = [] - -def post_lab_spec(file_path): - - with open(file_path) as json_file: - print file_path - data = json.load(json_file) - if 'lab' in data.keys(): - end_point = "/labs" - if 'experiment' in data.keys(): - end_point = "/experiments" - - data['key'] = 'defaultkey' - APP_URL = URL + end_point - headers = {'Content-Type': 'application/json'} - try: - response = requests.post(APP_URL, data = json.dumps(data), - headers=headers) - if response.status_code == 200: - print "Added json data : " + file_path - else: - print "Errore in adding json file " + file_path + " due to " + response.text - except Exception as e: - print str(e) -try: - exp_file_list = glob.glob(os.getcwd() + "/e9*.json") - lab_file_list = glob.glob(os.getcwd() + "/[!e9]*.json") - - for filename in exp_file_list: - json_path_list.append(filename) -except Exception as e: - print str(e) - -for file_path in json_path_list: - post_lab_spec(file_path) -post_lab_spec(lab_file_list[0]) diff --git a/specifications/iit-kharagpur/chemical-process-dynamics-laboratory/e99169.json b/specifications/iit-kharagpur/chemical-process-dynamics-laboratory/e99169.json deleted file mode 100644 index b9c2b6b..0000000 --- a/specifications/iit-kharagpur/chemical-process-dynamics-laboratory/e99169.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "experiment": { - "id": "e99169", - "name": "Polymerization reactor", - "discipline_id": "chem-engg", - "institute_id": "iitkgp", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlabs.iitkgp.ernet.in/cpd/exp8/index.html" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Polymerization reactor", - "assets": [], - "sections" : [ - "INTRODUCTION", - "PROCEDURE", - "SIMULATOR", - "ASSIGNMENT", - "QUIZ", - "REFERENCES" - ] - } -} diff --git a/specifications/iit-kharagpur/chemical-process-dynamics-laboratory/e99170.json b/specifications/iit-kharagpur/chemical-process-dynamics-laboratory/e99170.json deleted file mode 100644 index 757b4e8..0000000 --- a/specifications/iit-kharagpur/chemical-process-dynamics-laboratory/e99170.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "experiment": { - "id": "e99170", - "name": "Membrane separation", - "discipline_id": "chem-engg", - "institute_id": "iitkgp", - "developers": [ - { - "name": "Prof. Amiya Kumar Jana", - "email": "akjana@che.iitkgp.ernet.in" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlabs.iitkgp.ernet.in/cpd/exp7/index.html" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Membrane separation", - "assets": [], - "sections" : [ - "INTRODUCTION", - "THEORY", - "SIMULATOR", - "ASSIGNMENT", - "QUIZ", - "REFERENCES" - ] - } -} diff --git a/specifications/iit-kharagpur/chemical-process-dynamics-laboratory/e99171.json b/specifications/iit-kharagpur/chemical-process-dynamics-laboratory/e99171.json deleted file mode 100644 index 49a4adf..0000000 --- a/specifications/iit-kharagpur/chemical-process-dynamics-laboratory/e99171.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "experiment": { - "id": "e99171", - "name": "Feedbatch Fermentor", - "discipline_id": "chem-engg", - "institute_id": "iitkgp", - "developers": [ - { - "name": "Prof. Amiya Kumar Jana", - "email": "akjana@che.iitkgp.ernet.in" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlabs.iitkgp.ernet.in/cpd/exp6/index.html" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Feedbatch Fermentor", - "assets": [], - "sections" : [ - "INTRODUCTION", - "SIMULATOR", - "ASSIGNMENT", - "QUIZ", - "REFERENCES" - ] - } -} diff --git a/specifications/iit-kharagpur/chemical-process-dynamics-laboratory/e99172.json b/specifications/iit-kharagpur/chemical-process-dynamics-laboratory/e99172.json deleted file mode 100644 index 55e2801..0000000 --- a/specifications/iit-kharagpur/chemical-process-dynamics-laboratory/e99172.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "experiment": { - "id": "e99172", - "name": "Adsorption", - "discipline_id": "chem-engg", - "institute_id": "iitkgp", - "developers": [ - { - "name": "Prof. Amiya Kumar Jana", - "email": "akjana@che.iitkgp.ernet.in" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlabs.iitkgp.ernet.in/cpd/exp5/index.html" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Adsorption", - "assets": [], - "sections" : [ - "INTRODUCTION", - "SIMULATOR", - "ASSIGNMENT", - "QUIZ", - "REFERENCES" - ] - } -} diff --git a/specifications/iit-kharagpur/chemical-process-dynamics-laboratory/e99173.json b/specifications/iit-kharagpur/chemical-process-dynamics-laboratory/e99173.json deleted file mode 100644 index bee55c3..0000000 --- a/specifications/iit-kharagpur/chemical-process-dynamics-laboratory/e99173.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "experiment": { - "id": "e99173", - "name": "Continuous Stirred Tank Reactor", - "discipline_id": "chem-engg", - "institute_id": "iitkgp", - "developers": [ - { - "name": "Prof. Amiya Kumar Jana", - "email": "akjana@che.iitkgp.ernet.in" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlabs.iitkgp.ernet.in/cpd/exp4/index.html" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Continuous Stirred Tank Reactor", - "assets": [], - "sections" : [ - "INTRODUCTION", - "SIMULATOR", - "ASSIGNMENT", - "QUIZ", - "REFERENCES" - ] - } -} diff --git a/specifications/iit-kharagpur/chemical-process-dynamics-laboratory/e99174.json b/specifications/iit-kharagpur/chemical-process-dynamics-laboratory/e99174.json deleted file mode 100644 index 66f8d31..0000000 --- a/specifications/iit-kharagpur/chemical-process-dynamics-laboratory/e99174.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "experiment": { - "id": "e99174", - "name": "Flash Drum", - "discipline_id": "chem-engg", - "institute_id": "iitkgp", - "developers": [ - { - "name": "Prof. Amiya Kumar Jana", - "email": "akjana@che.iitkgp.ernet.in" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlabs.iitkgp.ernet.in/cpd/exp3/index.html" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Flash Drum", - "assets": [], - "sections" : [ - "INTRODUCTION", - "SIMULATOR", - "ASSIGNMENT", - "QUIZ", - "REFERENCES" - ] - } -} diff --git a/specifications/iit-kharagpur/chemical-process-dynamics-laboratory/e99175.json b/specifications/iit-kharagpur/chemical-process-dynamics-laboratory/e99175.json deleted file mode 100644 index 9df79f0..0000000 --- a/specifications/iit-kharagpur/chemical-process-dynamics-laboratory/e99175.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "experiment": { - "id": "e99175", - "name": "Heat Exchanger", - "discipline_id": "chem-engg", - "institute_id": "iitkgp", - "developers": [ - { - "name": "Prof. Amiya Kumar Jana", - "email": "akjana@che.iitkgp.ernet.in" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlabs.iitkgp.ernet.in/cpd/exp2/index.html" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Heat Exchanger", - "assets": [], - "sections" : [ - "INTRODUCTION", - "DIMENSION", - "PROCEDURE", - "SIMULATOR", - "ASSIGNMENT", - "REFERENCES" - ] - } -} diff --git a/specifications/iit-kharagpur/chemical-process-dynamics-laboratory/e99176.json b/specifications/iit-kharagpur/chemical-process-dynamics-laboratory/e99176.json deleted file mode 100644 index f858f9b..0000000 --- a/specifications/iit-kharagpur/chemical-process-dynamics-laboratory/e99176.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "experiment": { - "id": "e99176", - "name": "Stirred tank heater", - "discipline_id": "chem-engg", - "institute_id": "iitkgp", - "developers": [ - { - "name": "Prof. Amiya Kumar Jana", - "email": "akjana@che.iitkgp.ernet.in" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlabs.iitkgp.ernet.in/cpd/exp1/index.html" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Stirred tank heater", - "assets": [], - "sections" : [ - "INTRODUCTION", - "DEMO", - "SIMULATOR", - "ASSIGNMENT", - "QUIZ", - "REFERENCES" - ] - } -} diff --git a/specifications/iit-kharagpur/digital-electronic-circuits-laboratory/digital-electronic-circuits-laboratory.json b/specifications/iit-kharagpur/digital-electronic-circuits-laboratory/digital-electronic-circuits-laboratory.json deleted file mode 100644 index b9d89a8..0000000 --- a/specifications/iit-kharagpur/digital-electronic-circuits-laboratory/digital-electronic-circuits-laboratory.json +++ /dev/null @@ -1,43 +0,0 @@ -{ - "lab": { - "id": "VLS07", - "name": "digital electronic circuits laboratory", - "discipline_id": "ece", - "institute_id": "iitkgp", - "developers": [ - { - "name": "Prof. Goutam Saha", - "email": "gsaha@ece.iitkgp.ernet.in" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlabs.iitkgp.ernet.in/dec/" - } - ], - "integration_level": 4, - "overview": "This lab deals with digital electronic circuits laboratory", - "assets": [], - "sections": [ - { - "name": "Introduction" - }, - { - "experiments" : [ - "e98963", - "e98962", - "e98961", - "e98960", - "e98959", - "e98958", - "e98957", - "e98956", - "e98955", - "e98954" - ] - } - ] - } -} diff --git a/specifications/iit-kharagpur/digital-electronic-circuits-laboratory/dump_json_to_lds.py b/specifications/iit-kharagpur/digital-electronic-circuits-laboratory/dump_json_to_lds.py deleted file mode 100644 index 78c74fa..0000000 --- a/specifications/iit-kharagpur/digital-electronic-circuits-laboratory/dump_json_to_lds.py +++ /dev/null @@ -1,44 +0,0 @@ - -import os -import os.path -import json -import requests -import glob - -URL= 'http://localhost:5000' -json_path_list = [] - -def post_lab_spec(file_path): - - with open(file_path) as json_file: - print file_path - data = json.load(json_file) - if 'lab' in data.keys(): - end_point = "/labs" - if 'experiment' in data.keys(): - end_point = "/experiments" - - data['key'] = 'defaultkey' - APP_URL = URL + end_point - headers = {'Content-Type': 'application/json'} - try: - response = requests.post(APP_URL, data = json.dumps(data), - headers=headers) - if response.status_code == 200: - print "Added json data : " + file_path - else: - print "Errore in adding json file " + file_path + " due to " + response.text - except Exception as e: - print str(e) -try: - exp_file_list = glob.glob(os.getcwd() + "/e9*.json") - lab_file_list = glob.glob(os.getcwd() + "/[!e9]*.json") - - for filename in exp_file_list: - json_path_list.append(filename) -except Exception as e: - print str(e) - -for file_path in json_path_list: - post_lab_spec(file_path) -post_lab_spec(lab_file_list[0]) diff --git a/specifications/iit-kharagpur/digital-electronic-circuits-laboratory/e98954.json b/specifications/iit-kharagpur/digital-electronic-circuits-laboratory/e98954.json deleted file mode 100644 index 1885dce..0000000 --- a/specifications/iit-kharagpur/digital-electronic-circuits-laboratory/e98954.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "experiment": { - "id": "e98954", - "name": "Analysis and Synthesis of Arithmetic Expressions using Adders / Subtractors", - "discipline_id": "ece", - "institute_id": "iitkgp", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlabs.iitkgp.ernet.in/dec/exp7/index.html" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Analysis and Synthesis of Arithmetic Expressions using Adders / Subtractors", - "assets": [], - "sections" : [ - "Introduction", - "Theory", - "Objective", - "Procedure", - "Simulator", - "Quizzes", - "Reference" - ] - } -} diff --git a/specifications/iit-kharagpur/digital-electronic-circuits-laboratory/e98955.json b/specifications/iit-kharagpur/digital-electronic-circuits-laboratory/e98955.json deleted file mode 100644 index d98aa00..0000000 --- a/specifications/iit-kharagpur/digital-electronic-circuits-laboratory/e98955.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "experiment": { - "id": "e98955", - "name": "Analysis and Synthesis of Boolean Relations using Digital Comparators", - "discipline_id": "ece", - "institute_id": "iitkgp", - "developers": [ - { - "name": "Prof. Goutam Saha", - "email": "gsaha@ece.iitkgp.ernet.in" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlabs.iitkgp.ernet.in/dec/exp6/index.html" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Analysis and Synthesis of Boolean Relations using Digital Comparators", - "assets": [], - "sections" : [ - "Introduction", - "Theory", - "Objective", - "Procedure", - "Simulator", - "Quizzes", - "Reference" - ] - } -} diff --git a/specifications/iit-kharagpur/digital-electronic-circuits-laboratory/e98956.json b/specifications/iit-kharagpur/digital-electronic-circuits-laboratory/e98956.json deleted file mode 100644 index c6d5cb9..0000000 --- a/specifications/iit-kharagpur/digital-electronic-circuits-laboratory/e98956.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "experiment": { - "id": "e98956", - "name": "Analysis and Synthesis of Logic Functions using Decoders", - "discipline_id": "ece", - "institute_id": "iitkgp", - "developers": [ - { - "name": "Prof. Goutam Saha", - "email": "gsaha@ece.iitkgp.ernet.in" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlabs.iitkgp.ernet.in/dec/exp5/index.html" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Analysis and Synthesis of Logic Functions using Decoders", - "assets": [], - "sections" : [ - "Introduction", - "Theory", - "Objective", - "Procedure", - "Simulator", - "Quizzes", - "Reference" - ] - } -} diff --git a/specifications/iit-kharagpur/digital-electronic-circuits-laboratory/e98957.json b/specifications/iit-kharagpur/digital-electronic-circuits-laboratory/e98957.json deleted file mode 100644 index 621046e..0000000 --- a/specifications/iit-kharagpur/digital-electronic-circuits-laboratory/e98957.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "experiment": { - "id": "e98957", - "name": "Analysis and Synthesis of Logic Functions using Multiplexers", - "discipline_id": "ece", - "institute_id": "iitkgp", - "developers": [ - { - "name": "Prof. Goutam Saha", - "email": "gsaha@ece.iitkgp.ernet.in" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlabs.iitkgp.ernet.in/dec/exp4/index.html" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Analysis and Synthesis of Logic Functions using Multiplexers", - "assets": [], - "sections" : [ - "Introduction", - "Theory", - "Objective", - "Procedure", - "Simulator", - "Quizzes", - "Reference" - ] - } -} diff --git a/specifications/iit-kharagpur/digital-electronic-circuits-laboratory/e98958.json b/specifications/iit-kharagpur/digital-electronic-circuits-laboratory/e98958.json deleted file mode 100644 index 73d53d1..0000000 --- a/specifications/iit-kharagpur/digital-electronic-circuits-laboratory/e98958.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "experiment": { - "id": "e98958", - "name": "Analysis and Synthesis of Boolean Expressions using Basic Logic Gates", - "discipline_id": "ece", - "institute_id": "iitkgp", - "developers": [ - { - "name": "Prof. Goutam Saha", - "email": "gsaha@ece.iitkgp.ernet.in" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlabs.iitkgp.ernet.in/dec/exp3/index.html" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Analysis and Synthesis of Boolean Expressions using Basic Logic Gates", - "assets": [], - "sections" : [ - "Introduction", - "Theory", - "Objective", - "Procedure", - "Simulator", - "Quizzes", - "Referenc" - ] - } -} diff --git a/specifications/iit-kharagpur/digital-electronic-circuits-laboratory/e98959.json b/specifications/iit-kharagpur/digital-electronic-circuits-laboratory/e98959.json deleted file mode 100644 index fdebf5b..0000000 --- a/specifications/iit-kharagpur/digital-electronic-circuits-laboratory/e98959.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "experiment": { - "id": "e98959", - "name": "Characterization of Digital Logic Families", - "discipline_id": "ece", - "institute_id": "iitkgp", - "developers": [ - { - "name": "Prof. Goutam Saha", - "email": "gsaha@ece.iitkgp.ernet.in" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlabs.iitkgp.ernet.in/dec/exp2/index.html" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Characterization of Digital Logic Families", - "assets": [], - "sections" : [ - "Introduction", - "Theory", - "Procedure", - "Simulator", - "Quizzes", - "Reference" - ] - } -} diff --git a/specifications/iit-kharagpur/digital-electronic-circuits-laboratory/e98960.json b/specifications/iit-kharagpur/digital-electronic-circuits-laboratory/e98960.json deleted file mode 100644 index c1e6dc8..0000000 --- a/specifications/iit-kharagpur/digital-electronic-circuits-laboratory/e98960.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "experiment": { - "id": "e98960", - "name": "Design of Arithmetic Logic Unit (ALU)", - "discipline_id": "ece", - "institute_id": "iitkgp", - "developers": [ - { - "name": "Prof. Goutam Saha", - "email": "gsaha@ece.iitkgp.ernet.in" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlabs.iitkgp.ernet.in/dec/exp10/index.html" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Design of Arithmetic Logic Unit (ALU)", - "assets": [], - "sections" : [ - "Introduction", - "Theory", - "Objective", - "Procedure", - "Simulator", - "Quizzes", - "Reference" - ] - } -} diff --git a/specifications/iit-kharagpur/digital-electronic-circuits-laboratory/e98961.json b/specifications/iit-kharagpur/digital-electronic-circuits-laboratory/e98961.json deleted file mode 100644 index 137c340..0000000 --- a/specifications/iit-kharagpur/digital-electronic-circuits-laboratory/e98961.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "experiment": { - "id": "e98961", - "name": "Analysis and Synthesis of Multi-bit Sequential Circuits using Shift Registers", - "discipline_id": "ece", - "institute_id": "iitkgp", - "developers": [ - { - "name": "Prof. Goutam Saha", - "email": "gsaha@ece.iitkgp.ernet.in" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlabs.iitkgp.ernet.in/dec/exp9/index.html" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Analysis and Synthesis of Multi-bit Sequential Circuits using Shift Registers", - "assets": [], - "sections" : [ - "Introduction", - "Theory", - "Objective", - "Procedure", - "Simulator", - "Quizzes", - "Reference" - ] - } -} diff --git a/specifications/iit-kharagpur/digital-electronic-circuits-laboratory/e98962.json b/specifications/iit-kharagpur/digital-electronic-circuits-laboratory/e98962.json deleted file mode 100644 index d102673..0000000 --- a/specifications/iit-kharagpur/digital-electronic-circuits-laboratory/e98962.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "experiment": { - "id": "e98962", - "name": "Analysis and Synthesis of Sequential Circuits using Basic Flip-Flops", - "discipline_id": "ece", - "institute_id": "iitkgp", - "developers": [ - { - "name": "Prof. Goutam Saha", - "email": "gsaha@ece.iitkgp.ernet.in" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlabs.iitkgp.ernet.in/dec/exp8/index.htm" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Analysis and Synthesis of Sequential Circuits using Basic Flip-Flops", - "assets": [], - "sections" : [ - "Introduction", - "Theory", - "Objective", - "Procedure", - "Simulator", - "Quizzes", - "Reference" - ] - } -} diff --git a/specifications/iit-kharagpur/digital-electronic-circuits-laboratory/e98963.json b/specifications/iit-kharagpur/digital-electronic-circuits-laboratory/e98963.json deleted file mode 100644 index fd63918..0000000 --- a/specifications/iit-kharagpur/digital-electronic-circuits-laboratory/e98963.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "experiment": { - "id": "e98963", - "name": "Analysis of Functions of BCD-TO-7-segment Decoder / Driver and Operation of 7-segment LED Display", - "discipline_id": "ece", - "institute_id": "iitkgp", - "developers": [ - { - "name": "Prof. Goutam Saha", - "email": "gsaha@ece.iitkgp.ernet.in" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlabs.iitkgp.ernet.in/dec/exp1/index.html" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Analysis of Functions of BCD-TO-7-segment Decoder / Driver and Operation of 7-segment LED Display", - "assets": [], - "sections" : [ - "Introduction", - "Theory", - "Objective", - "Procedure", - "Simulator", - "Quizzes", - "Reference" - ] - } -} diff --git a/specifications/iit-kharagpur/digital-signal-processing-laboratory/digital-signal-processing-laboratory.json b/specifications/iit-kharagpur/digital-signal-processing-laboratory/digital-signal-processing-laboratory.json deleted file mode 100644 index 5d86652..0000000 --- a/specifications/iit-kharagpur/digital-signal-processing-laboratory/digital-signal-processing-laboratory.json +++ /dev/null @@ -1,43 +0,0 @@ -{ - "lab": { - "id": "VLS06", - "name": "digital signal processing laboratory", - "discipline_id": "ece", - "institute_id": "iitkgp", - "developers": [ - { - "name": "Prof. Goutam Saha", - "email": "gsaha@ece.iitkgp.ernet.in" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlabs.iitkgp.ernet.in/dsp/" - } - ], - "integration_level": 4, - "overview": "This lab deals with digital signal processing laboratory", - "assets": [], - "sections": [ - { - "name": "Introduction" - }, - { - "experiments" : [ - "e98953", - "e98952", - "e98951", - "e98950", - "e98949", - "e98948", - "e98947", - "e98946", - "e98945", - "e98944" - ] - } - ] - } -} diff --git a/specifications/iit-kharagpur/digital-signal-processing-laboratory/dump_json_to_lds.py b/specifications/iit-kharagpur/digital-signal-processing-laboratory/dump_json_to_lds.py deleted file mode 100644 index 78c74fa..0000000 --- a/specifications/iit-kharagpur/digital-signal-processing-laboratory/dump_json_to_lds.py +++ /dev/null @@ -1,44 +0,0 @@ - -import os -import os.path -import json -import requests -import glob - -URL= 'http://localhost:5000' -json_path_list = [] - -def post_lab_spec(file_path): - - with open(file_path) as json_file: - print file_path - data = json.load(json_file) - if 'lab' in data.keys(): - end_point = "/labs" - if 'experiment' in data.keys(): - end_point = "/experiments" - - data['key'] = 'defaultkey' - APP_URL = URL + end_point - headers = {'Content-Type': 'application/json'} - try: - response = requests.post(APP_URL, data = json.dumps(data), - headers=headers) - if response.status_code == 200: - print "Added json data : " + file_path - else: - print "Errore in adding json file " + file_path + " due to " + response.text - except Exception as e: - print str(e) -try: - exp_file_list = glob.glob(os.getcwd() + "/e9*.json") - lab_file_list = glob.glob(os.getcwd() + "/[!e9]*.json") - - for filename in exp_file_list: - json_path_list.append(filename) -except Exception as e: - print str(e) - -for file_path in json_path_list: - post_lab_spec(file_path) -post_lab_spec(lab_file_list[0]) diff --git a/specifications/iit-kharagpur/digital-signal-processing-laboratory/e98945.json b/specifications/iit-kharagpur/digital-signal-processing-laboratory/e98945.json deleted file mode 100644 index cc7df42..0000000 --- a/specifications/iit-kharagpur/digital-signal-processing-laboratory/e98945.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "experiment": { - "id": "e98945", - "name": "Study of FIR filter design using window method: Bandpass and Bandstop filter .", - "discipline_id": "ece", - "institute_id": "iitkgp", - "developers": [ - { - "name": "Prof. Goutam Saha", - "email": "gsaha@ece.iitkgp.ernet.in" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlabs.iitkgp.ernet.in/dsp/exp9/index.html" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Study of FIR filter design using window method: Bandpass and Bandstop filter .", - "assets": [], - "sections" : [ - "Introduction", - "Theory", - "procedure", - "simulator", - "Quizzes", - "Reference" - ] - } -} diff --git a/specifications/iit-kharagpur/digital-signal-processing-laboratory/e98946.json b/specifications/iit-kharagpur/digital-signal-processing-laboratory/e98946.json deleted file mode 100644 index 5cf434b..0000000 --- a/specifications/iit-kharagpur/digital-signal-processing-laboratory/e98946.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "experiment": { - "id": "e98946", - "name": "Study of FIR filter design using window method: Lowpass and highpass filter.", - "discipline_id": "ece", - "institute_id": "iitkgp", - "developers": [ - { - "name": "Prof. Goutam Saha", - "email": "gsaha@ece.iitkgp.ernet.in" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlabs.iitkgp.ernet.in/dsp/exp8/index.html" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Study of FIR filter design using window method: Lowpass and highpass filter.", - "assets": [], - "sections" : [ - "Introduction", - "Theory", - "procedure", - "simulator", - "Quizzes", - "Reference" - ] - } -} diff --git a/specifications/iit-kharagpur/digital-signal-processing-laboratory/e98947.json b/specifications/iit-kharagpur/digital-signal-processing-laboratory/e98947.json deleted file mode 100644 index b2ed060..0000000 --- a/specifications/iit-kharagpur/digital-signal-processing-laboratory/e98947.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "experiment": { - "id": "e98947", - "name": "Study of Discrete Fourier Transform (DFT) and its inverse.", - "discipline_id": "ece", - "institute_id": "iitkgp", - "developers": [ - { - "name": "Prof. Goutam Saha", - "email": "gsaha@ece.iitkgp.ernet.in" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlabs.iitkgp.ernet.in/dsp/exp6/index.html" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Study of Discrete Fourier Transform (DFT) and its inverse.", - "assets": [], - "sections" : [ - "Introduction", - "Theory", - "procedure", - "simulator", - "Quizzes", - "Reference" - ] - } -} diff --git a/specifications/iit-kharagpur/digital-signal-processing-laboratory/e98948.json b/specifications/iit-kharagpur/digital-signal-processing-laboratory/e98948.json deleted file mode 100644 index 084038d..0000000 --- a/specifications/iit-kharagpur/digital-signal-processing-laboratory/e98948.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "experiment": { - "id": "e98948", - "name": "Study of convolution: series and parallel system.", - "discipline_id": "ece", - "institute_id": "iitkgp", - "developers": [ - { - "name": "Prof. Goutam Saha", - "email": "gsaha@ece.iitkgp.ernet.in" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlabs.iitkgp.ernet.in/dsp/exp5/index.html" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Study of convolution: series and parallel system.", - "assets": [], - "sections" : [ - "Introduction", - "Theory", - "procedure", - "simulator", - "Quizzes", - "Reference" - ] - } -} diff --git a/specifications/iit-kharagpur/digital-signal-processing-laboratory/e98949.json b/specifications/iit-kharagpur/digital-signal-processing-laboratory/e98949.json deleted file mode 100644 index 580b008..0000000 --- a/specifications/iit-kharagpur/digital-signal-processing-laboratory/e98949.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "experiment": { - "id": "e98949", - "name": "Study of properties of Linear time-invariant system.", - "discipline_id": "ece", - "institute_id": "iitkgp", - "developers": [ - { - "name": "Prof. Goutam Saha", - "email": "gsaha@ece.iitkgp.ernet.in" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlabs.iitkgp.ernet.in/dsp/exp4/index.html" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Study of properties of Linear time-invariant system.", - "assets": [], - "sections" : [ - "Introduction", - "Theory", - "procedure", - "simulator", - "Quizzes", - "Reference" - ] - } -} diff --git a/specifications/iit-kharagpur/digital-signal-processing-laboratory/e98950.json b/specifications/iit-kharagpur/digital-signal-processing-laboratory/e98950.json deleted file mode 100644 index 1c83e9c..0000000 --- a/specifications/iit-kharagpur/digital-signal-processing-laboratory/e98950.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "experiment": { - "id": "e98950", - "name": "Study of different types of Companding Techniques.", - "discipline_id": "ece", - "institute_id": "iitkgp", - "developers": [ - { - "name": "Prof. Goutam Saha", - "email": "gsaha@ece.iitkgp.ernet.in" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlabs.iitkgp.ernet.in/dsp/exp3/index.html" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Study of different types of Companding Techniques.", - "assets": [], - "sections" : [ - "Introduction", - "Theory", - "procedure", - "simulator", - "Quizzes", - "Reference" - ] - } -} diff --git a/specifications/iit-kharagpur/digital-signal-processing-laboratory/e98951.json b/specifications/iit-kharagpur/digital-signal-processing-laboratory/e98951.json deleted file mode 100644 index 21677d9..0000000 --- a/specifications/iit-kharagpur/digital-signal-processing-laboratory/e98951.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "experiment": { - "id": "e98951", - "name": "Study of Quantization of continuous-amplitude, discrete-time analog signals.", - "discipline_id": "ece", - "institute_id": "iitkgp", - "developers": [ - { - "name": "Prof. Goutam Saha", - "email": "gsaha@ece.iitkgp.ernet.in" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlabs.iitkgp.ernet.in/dsp/exp2/index.html" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Study of Quantization of continuous-amplitude, discrete-time analog signals.", - "assets": [], - "sections" : [ - "Introduction", - "Theory", - "Procedure", - "Simulator", - "References" - ] - } -} diff --git a/specifications/iit-kharagpur/digital-signal-processing-laboratory/e98952.json b/specifications/iit-kharagpur/digital-signal-processing-laboratory/e98952.json deleted file mode 100644 index 6c97d36..0000000 --- a/specifications/iit-kharagpur/digital-signal-processing-laboratory/e98952.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "experiment": { - "id": "e98952", - "name": "Study of Transform domain properties and its use. .", - "discipline_id": "ece", - "institute_id": "iitkgp", - "developers": [ - { - "name": "Prof. Goutam Saha", - "email": "gsaha@ece.iitkgp.ernet.in" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlabs.iitkgp.ernet.in/dsp/exp7/index.html" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Study of Transform domain properties and its use. .", - "assets": [], - "sections" : [ - "Introduction", - "Theory", - "procedure", - "simulator", - "Quizzes", - "Reference" - ] - } -} diff --git a/specifications/iit-kharagpur/digital-signal-processing-laboratory/e98953.json b/specifications/iit-kharagpur/digital-signal-processing-laboratory/e98953.json deleted file mode 100644 index eda4afa..0000000 --- a/specifications/iit-kharagpur/digital-signal-processing-laboratory/e98953.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "experiment": { - "id": "e98953", - "name": "Study of sampling theorem, effect of undersampling.", - "discipline_id": "ece", - "institute_id": "iitkgp", - "developers": [ - { - "name": "Prof. Goutam Saha", - "email": "gsaha@ece.iitkgp.ernet.in" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlabs.iitkgp.ernet.in/dsp/exp1/index.html" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Study of sampling theorem, effect of undersampling.", - "assets": [], - "sections" : [ - "Introduction", - "Theory", - "procedure", - "simulator", - "Quizzes", - "Reference" - ] - } -} diff --git a/specifications/iit-kharagpur/fading-channels-and-mobile-communication/dump_json_to_lds.py b/specifications/iit-kharagpur/fading-channels-and-mobile-communication/dump_json_to_lds.py deleted file mode 100644 index 78c74fa..0000000 --- a/specifications/iit-kharagpur/fading-channels-and-mobile-communication/dump_json_to_lds.py +++ /dev/null @@ -1,44 +0,0 @@ - -import os -import os.path -import json -import requests -import glob - -URL= 'http://localhost:5000' -json_path_list = [] - -def post_lab_spec(file_path): - - with open(file_path) as json_file: - print file_path - data = json.load(json_file) - if 'lab' in data.keys(): - end_point = "/labs" - if 'experiment' in data.keys(): - end_point = "/experiments" - - data['key'] = 'defaultkey' - APP_URL = URL + end_point - headers = {'Content-Type': 'application/json'} - try: - response = requests.post(APP_URL, data = json.dumps(data), - headers=headers) - if response.status_code == 200: - print "Added json data : " + file_path - else: - print "Errore in adding json file " + file_path + " due to " + response.text - except Exception as e: - print str(e) -try: - exp_file_list = glob.glob(os.getcwd() + "/e9*.json") - lab_file_list = glob.glob(os.getcwd() + "/[!e9]*.json") - - for filename in exp_file_list: - json_path_list.append(filename) -except Exception as e: - print str(e) - -for file_path in json_path_list: - post_lab_spec(file_path) -post_lab_spec(lab_file_list[0]) diff --git a/specifications/iit-kharagpur/fading-channels-and-mobile-communication/e98991.json b/specifications/iit-kharagpur/fading-channels-and-mobile-communication/e98991.json deleted file mode 100644 index 0eef9aa..0000000 --- a/specifications/iit-kharagpur/fading-channels-and-mobile-communication/e98991.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "experiment": { - "id": "e98991", - "name": "B: Cell Cluster", - "discipline_id": "ece", - "institute_id": "iitkgp", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlabs.iitkgp.ernet.in/fcmc/exp6B/index.html" - } - ], - "integration_level": 4, - "overview": "This experiments deals with B: Cell Cluster", - "assets": [], - "sections" : [ - "Introduction", - "Theory", - "Instruction", - "Demo", - "Download", - "Quiz", - "Reference" - ] - } -} diff --git a/specifications/iit-kharagpur/fading-channels-and-mobile-communication/e98992.json b/specifications/iit-kharagpur/fading-channels-and-mobile-communication/e98992.json deleted file mode 100644 index 05b02fc..0000000 --- a/specifications/iit-kharagpur/fading-channels-and-mobile-communication/e98992.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "experiment": { - "id": "e98992", - "name": "A: Co-Channel Cells", - "discipline_id": "ece", - "institute_id": "iitkgp", - "developers": [ - { - "name": "Prof. Suvra Sekhar Das", - "email": "surva@gssst.iitkgp.ernet.in" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlabs.iitkgp.ernet.in/fcmc/exp6A/index.html" - } - ], - "integration_level": 4, - "overview": "This experiments deals with A: Co-Channel Cells", - "assets": [], - "sections" : [ - "Introduction", - "Theory", - "Instruction", - "Demo", - "Download", - "Quiz", - "Reference" - ] - } -} diff --git a/specifications/iit-kharagpur/fading-channels-and-mobile-communication/e98993.json b/specifications/iit-kharagpur/fading-channels-and-mobile-communication/e98993.json deleted file mode 100644 index 1ef6bab..0000000 --- a/specifications/iit-kharagpur/fading-channels-and-mobile-communication/e98993.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "experiment": { - "id": "e98993", - "name": "Frequency Reuse", - "discipline_id": "ece", - "institute_id": "iitkgp", - "developers": [ - { - "name": "Prof. Suvra Sekhar Das", - "email": "surva@gssst.iitkgp.ernet.in" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlabs.iitkgp.ernet.in/fcmc/exp6/index.html" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Frequency Reuse", - "assets": [], - "sections" : [ - "Introduction", - "Theory", - "Instruction", - "Demo", - "Download", - "Quiz", - "Reference" - ] - } -} diff --git a/specifications/iit-kharagpur/fading-channels-and-mobile-communication/e98994.json b/specifications/iit-kharagpur/fading-channels-and-mobile-communication/e98994.json deleted file mode 100644 index 63e5bea..0000000 --- a/specifications/iit-kharagpur/fading-channels-and-mobile-communication/e98994.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "experiment": { - "id": "e98994", - "name": "B: Uplink", - "discipline_id": "ece", - "institute_id": "iitkgp", - "developers": [ - { - "name": "Prof. Suvra Sekhar Das", - "email": "surva@gssst.iitkgp.ernet.in" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlabs.iitkgp.ernet.in/fcmc/exp5B/index.html" - } - ], - "integration_level": 4, - "overview": "This experiments deals with B: Uplink", - "assets": [], - "sections" : [ - "Introduction", - "Theory", - "Instruction", - "Demo", - "Download", - "Quiz", - "Reference" - ] - } -} diff --git a/specifications/iit-kharagpur/fading-channels-and-mobile-communication/e98995.json b/specifications/iit-kharagpur/fading-channels-and-mobile-communication/e98995.json deleted file mode 100644 index 6ae22ec..0000000 --- a/specifications/iit-kharagpur/fading-channels-and-mobile-communication/e98995.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "experiment": { - "id": "e98995", - "name": "A: Downlink", - "discipline_id": "ece", - "institute_id": "iitkgp", - "developers": [ - { - "name": "Prof. Suvra Sekhar Das", - "email": "surva@gssst.iitkgp.ernet.in" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlabs.iitkgp.ernet.in/fcmc/exp5A/index.html" - } - ], - "integration_level": 4, - "overview": "This experiments deals with A: Downlink", - "assets": [], - "sections" : [ - "Introduction", - "Theory", - "Instruction", - "Demo", - "Download", - "Quiz", - "Reference" - ] - } -} diff --git a/specifications/iit-kharagpur/fading-channels-and-mobile-communication/e98996.json b/specifications/iit-kharagpur/fading-channels-and-mobile-communication/e98996.json deleted file mode 100644 index 54863ee..0000000 --- a/specifications/iit-kharagpur/fading-channels-and-mobile-communication/e98996.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "experiment": { - "id": "e98996", - "name": "Calculation of SINR including Beam Tilt", - "discipline_id": "ece", - "institute_id": "iitkgp", - "developers": [ - { - "name": "Prof. Suvra Sekhar Das", - "email": "surva@gssst.iitkgp.ernet.in" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlabs.iitkgp.ernet.in/fcmc/exp5/index.html" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Calculation of SINR including Beam Tilt", - "assets": [], - "sections" : [ - "Introduction", - "Theory", - "Instruction", - "Demo", - "Download", - "Quiz", - "Reference" - ] - } -} diff --git a/specifications/iit-kharagpur/fading-channels-and-mobile-communication/e98997.json b/specifications/iit-kharagpur/fading-channels-and-mobile-communication/e98997.json deleted file mode 100644 index a22e199..0000000 --- a/specifications/iit-kharagpur/fading-channels-and-mobile-communication/e98997.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "experiment": { - "id": "e98997", - "name": "Frequency Selective Fading", - "discipline_id": "ece", - "institute_id": "iitkgp", - "developers": [ - { - "name": "Prof. Suvra Sekhar Das", - "email": "surva@gssst.iitkgp.ernet.in" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlabs.iitkgp.ernet.in/fcmc/exp10/index.html" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Frequency Selective Fading", - "assets": [], - "sections" : [ - "Introduction", - "Theory", - "Instruction", - "Demo", - "Download", - "Quiz", - "Reference" - ] - } -} diff --git a/specifications/iit-kharagpur/fading-channels-and-mobile-communication/e98998.json b/specifications/iit-kharagpur/fading-channels-and-mobile-communication/e98998.json deleted file mode 100644 index e3fd410..0000000 --- a/specifications/iit-kharagpur/fading-channels-and-mobile-communication/e98998.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "experiment": { - "id": "e98998", - "name": "Flat Fading", - "discipline_id": "ece", - "institute_id": "iitkgp", - "developers": [ - { - "name": "Prof. Suvra Sekhar Das", - "email": "surva@gssst.iitkgp.ernet.in" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlabs.iitkgp.ernet.in/fcmc/exp9/index.html" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Flat Fading", - "assets": [], - "sections" : [ - "Introduction", - "Theory", - "Instruction", - "Demo", - "Download", - "Quiz", - "Reference" - ] - } -} diff --git a/specifications/iit-kharagpur/fading-channels-and-mobile-communication/e98999.json b/specifications/iit-kharagpur/fading-channels-and-mobile-communication/e98999.json deleted file mode 100644 index 4228dd9..0000000 --- a/specifications/iit-kharagpur/fading-channels-and-mobile-communication/e98999.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "experiment": { - "id": "e98999", - "name": "Handoff", - "discipline_id": "ece", - "institute_id": "iitkgp", - "developers": [ - { - "name": "Prof. Suvra Sekhar Das", - "email": "surva@gssst.iitkgp.ernet.in" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlabs.iitkgp.ernet.in/fcmc/exp8/index.html" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Handoff", - "assets": [], - "sections" : [ - "Introduction", - "Theory", - "Instruction", - "Demo", - "Download", - "Quiz", - "Reference" - ] - } -} diff --git a/specifications/iit-kharagpur/fading-channels-and-mobile-communication/e99000.json b/specifications/iit-kharagpur/fading-channels-and-mobile-communication/e99000.json deleted file mode 100644 index c0863ce..0000000 --- a/specifications/iit-kharagpur/fading-channels-and-mobile-communication/e99000.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "experiment": { - "id": "e99000", - "name": "Sectoring", - "discipline_id": "ece", - "institute_id": "iitkgp", - "developers": [ - { - "name": "Prof. Suvra Sekhar Das", - "email": "surva@gssst.iitkgp.ernet.in" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlabs.iitkgp.ernet.in/fcmc/exp7/index.html" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Sectoring", - "assets": [], - "sections" : [ - "Introduction", - "Theory", - "Instruction", - "Demo", - "Download", - "Quiz", - "Reference" - ] - } -} diff --git a/specifications/iit-kharagpur/fading-channels-and-mobile-communication/e99001.json b/specifications/iit-kharagpur/fading-channels-and-mobile-communication/e99001.json deleted file mode 100644 index 20043a0..0000000 --- a/specifications/iit-kharagpur/fading-channels-and-mobile-communication/e99001.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "experiment": { - "id": "e99001", - "name": "Calculation of Boundary Coverage Probability", - "discipline_id": "ece", - "institute_id": "iitkgp", - "developers": [ - { - "name": "Prof. Suvra Sekhar Das", - "email": "surva@gssst.iitkgp.ernet.in" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlabs.iitkgp.ernet.in/fcmc/exp4/index.html" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Calculation of Boundary Coverage Probability", - "assets": [], - "sections" : [ - "Introduction", - "Theory", - "Instruction", - "Demo", - "Download", - "Quiz", - "Reference" - ] - } -} diff --git a/specifications/iit-kharagpur/fading-channels-and-mobile-communication/e99002.json b/specifications/iit-kharagpur/fading-channels-and-mobile-communication/e99002.json deleted file mode 100644 index cfd5d5a..0000000 --- a/specifications/iit-kharagpur/fading-channels-and-mobile-communication/e99002.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "experiment": { - "id": "e99002", - "name": "Horizontal and Vertical Beam Pattern", - "discipline_id": "ece", - "institute_id": "iitkgp", - "developers": [ - { - "name": "Prof. Suvra Sekhar Das", - "email": "surva@gssst.iitkgp.ernet.in" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlabs.iitkgp.ernet.in/fcmc/exp3/index.html" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Horizontal and Vertical Beam Pattern", - "assets": [], - "sections" : [ - "Introduction", - "Theory", - "Instruction", - "Demo", - "Download", - "Quiz", - "Reference" - ] - } -} diff --git a/specifications/iit-kharagpur/fading-channels-and-mobile-communication/e99003.json b/specifications/iit-kharagpur/fading-channels-and-mobile-communication/e99003.json deleted file mode 100644 index f8be0c2..0000000 --- a/specifications/iit-kharagpur/fading-channels-and-mobile-communication/e99003.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "experiment": { - "id": "e99003", - "name": "Pathloss with Shadowing", - "discipline_id": "ece", - "institute_id": "iitkgp", - "developers": [ - { - "name": "Prof. Suvra Sekhar Das", - "email": "surva@gssst.iitkgp.ernet.in" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlabs.iitkgp.ernet.in/fcmc/exp2/index.html" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Pathloss with Shadowing", - "assets": [], - "sections" : [ - "Introduction", - "Theory", - "Instruction", - "Demo", - "Download", - "Quiz", - "Reference" - ] - } -} diff --git a/specifications/iit-kharagpur/fading-channels-and-mobile-communication/e99004.json b/specifications/iit-kharagpur/fading-channels-and-mobile-communication/e99004.json deleted file mode 100644 index 398df0b..0000000 --- a/specifications/iit-kharagpur/fading-channels-and-mobile-communication/e99004.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "experiment": { - "id": "e99004", - "name": "Understanding of Pathloss", - "discipline_id": "ece", - "institute_id": "iitkgp", - "developers": [ - { - "name": "Prof. Suvra Sekhar Das", - "email": "surva@gssst.iitkgp.ernet.in" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlabs.iitkgp.ernet.in/fcmc/exp1/index.html" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Understanding of Pathloss", - "assets": [], - "sections" : [ - "Introduction", - "Theory", - "Instruction", - "Demo", - "Download", - "Quiz", - "Reference" - ] - } -} diff --git a/specifications/iit-kharagpur/fading-channels-and-mobile-communication/fading-channels-and-mobile-communication.json b/specifications/iit-kharagpur/fading-channels-and-mobile-communication/fading-channels-and-mobile-communication.json deleted file mode 100644 index 3843c7e..0000000 --- a/specifications/iit-kharagpur/fading-channels-and-mobile-communication/fading-channels-and-mobile-communication.json +++ /dev/null @@ -1,47 +0,0 @@ -{ - "lab": { - "id": "VLS05", - "name": "fading channels and mobile communication", - "discipline_id": "ece", - "institute_id": "iitkgp", - "developers": [ - { - "name": "Prof. Suvra Sekhar Das", - "email": "surva@gssst.iitkgp.ernet.in" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlabs.iitkgp.ernet.in/fcmc/" - } - ], - "integration_level": 4, - "overview": "This lab deals with fading channels and mobile communication", - "assets": [], - "sections": [ - { - "name": "Introduction" - }, - { - "experiments" : [ - "e99004", - "e99003", - "e99002", - "e99001", - "e99000", - "e98999", - "e98998", - "e98997", - "e98996", - "e98995", - "e98994", - "e98993", - "e98992", - "e98991" - ] - } - ] - } -} diff --git a/specifications/iit-kharagpur/kinematics-and-dynamics-of-mechanisms/dump_json_to_lds.py b/specifications/iit-kharagpur/kinematics-and-dynamics-of-mechanisms/dump_json_to_lds.py deleted file mode 100644 index 78c74fa..0000000 --- a/specifications/iit-kharagpur/kinematics-and-dynamics-of-mechanisms/dump_json_to_lds.py +++ /dev/null @@ -1,44 +0,0 @@ - -import os -import os.path -import json -import requests -import glob - -URL= 'http://localhost:5000' -json_path_list = [] - -def post_lab_spec(file_path): - - with open(file_path) as json_file: - print file_path - data = json.load(json_file) - if 'lab' in data.keys(): - end_point = "/labs" - if 'experiment' in data.keys(): - end_point = "/experiments" - - data['key'] = 'defaultkey' - APP_URL = URL + end_point - headers = {'Content-Type': 'application/json'} - try: - response = requests.post(APP_URL, data = json.dumps(data), - headers=headers) - if response.status_code == 200: - print "Added json data : " + file_path - else: - print "Errore in adding json file " + file_path + " due to " + response.text - except Exception as e: - print str(e) -try: - exp_file_list = glob.glob(os.getcwd() + "/e9*.json") - lab_file_list = glob.glob(os.getcwd() + "/[!e9]*.json") - - for filename in exp_file_list: - json_path_list.append(filename) -except Exception as e: - print str(e) - -for file_path in json_path_list: - post_lab_spec(file_path) -post_lab_spec(lab_file_list[0]) diff --git a/specifications/iit-kharagpur/kinematics-and-dynamics-of-mechanisms/e99076.json b/specifications/iit-kharagpur/kinematics-and-dynamics-of-mechanisms/e99076.json deleted file mode 100644 index b509147..0000000 --- a/specifications/iit-kharagpur/kinematics-and-dynamics-of-mechanisms/e99076.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "experiment": { - "id": "e99076", - "name": "Three Point Path Synthesis with Coordinated Motion using a RRRR Mechanism", - "discipline_id": "mech", - "institute_id": "iitkgp", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlabs.iitkgp.ernet.in/kdm/exp28/index.html" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Three Point Path Synthesis with Coordinated Motion using a RRRR Mechanism", - "assets": [], - "sections" : [ - "Introduction", - "Demo", - "Procedure", - "Instruments", - "Simulator", - "Reference" - ] - } -} diff --git a/specifications/iit-kharagpur/kinematics-and-dynamics-of-mechanisms/e99077.json b/specifications/iit-kharagpur/kinematics-and-dynamics-of-mechanisms/e99077.json deleted file mode 100644 index 306b29b..0000000 --- a/specifications/iit-kharagpur/kinematics-and-dynamics-of-mechanisms/e99077.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "experiment": { - "id": "e99077", - "name": "Four Point Path Synthesis with a RRRR Mechanism", - "discipline_id": "mech", - "institute_id": "iitkgp", - "developers": [ - { - "name": "Prof. Kingshook Bhattacharyya", - "email": "king@mech.iitkgp.ernet.in" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlabs.iitkgp.ernet.in/kdm/exp27/index.html" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Four Point Path Synthesis with a RRRR Mechanism", - "assets": [], - "sections" : [ - "Introduction", - "Demo", - "Procedure", - "Instruments", - "Simulator", - "Reference" - ] - } -} diff --git a/specifications/iit-kharagpur/kinematics-and-dynamics-of-mechanisms/e99078.json b/specifications/iit-kharagpur/kinematics-and-dynamics-of-mechanisms/e99078.json deleted file mode 100644 index b67e996..0000000 --- a/specifications/iit-kharagpur/kinematics-and-dynamics-of-mechanisms/e99078.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "experiment": { - "id": "e99078", - "name": "Two Position Coordinated Motion Synthesis with a RRRR Mechanism", - "discipline_id": "mech", - "institute_id": "iitkgp", - "developers": [ - { - "name": "Prof. Kingshook Bhattacharyya", - "email": "king@mech.iitkgp.ernet.in" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlabs.iitkgp.ernet.in/kdm/exp26/index.html" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Two Position Coordinated Motion Synthesis with a RRRR Mechanism", - "assets": [], - "sections" : [ - "Introduction", - "Demo", - "Procedure", - "Instruments", - "Simulator", - "Reference" - ] - } -} diff --git a/specifications/iit-kharagpur/kinematics-and-dynamics-of-mechanisms/e99079.json b/specifications/iit-kharagpur/kinematics-and-dynamics-of-mechanisms/e99079.json deleted file mode 100644 index 673fc81..0000000 --- a/specifications/iit-kharagpur/kinematics-and-dynamics-of-mechanisms/e99079.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "experiment": { - "id": "e99079", - "name": "Three Position Coordinated Motion Synthesis with a RRRP Mechanism", - "discipline_id": "mech", - "institute_id": "iitkgp", - "developers": [ - { - "name": "Prof. Kingshook Bhattacharyya", - "email": "king@mech.iitkgp.ernet.in" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlabs.iitkgp.ernet.in/kdm/exp25/index.html" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Three Position Coordinated Motion Synthesis with a RRRP Mechanism", - "assets": [], - "sections" : [ - "Introduction", - "Demo", - "Procedure", - "Instruments", - "Simulator", - "Reference" - ] - } -} diff --git a/specifications/iit-kharagpur/kinematics-and-dynamics-of-mechanisms/e99080.json b/specifications/iit-kharagpur/kinematics-and-dynamics-of-mechanisms/e99080.json deleted file mode 100644 index a6ae2ec..0000000 --- a/specifications/iit-kharagpur/kinematics-and-dynamics-of-mechanisms/e99080.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "experiment": { - "id": "e99080", - "name": "Two Position Coordinated Motion Synthesis with a RRRP Mechanism", - "discipline_id": "mech", - "institute_id": "iitkgp", - "developers": [ - { - "name": "Prof. Kingshook Bhattacharyya", - "email": "king@mech.iitkgp.ernet.in" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlabs.iitkgp.ernet.in/kdm/exp24/index.html" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Two Position Coordinated Motion Synthesis with a RRRP Mechanism", - "assets": [], - "sections" : [ - "Introduction", - "Demo", - "Procedure", - "Instruments", - "Simulator", - "Reference" - ] - } -} diff --git a/specifications/iit-kharagpur/kinematics-and-dynamics-of-mechanisms/e99081.json b/specifications/iit-kharagpur/kinematics-and-dynamics-of-mechanisms/e99081.json deleted file mode 100644 index 2082964..0000000 --- a/specifications/iit-kharagpur/kinematics-and-dynamics-of-mechanisms/e99081.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "experiment": { - "id": "e99081", - "name": "Dead Center Synthesis with RRRP Mechanism", - "discipline_id": "mech", - "institute_id": "iitkgp", - "developers": [ - { - "name": "Prof. Kingshook Bhattacharyya", - "email": "king@mech.iitkgp.ernet.in" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlabs.iitkgp.ernet.in/kdm/exp23/index.html" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Dead Center Synthesis with RRRP Mechanism", - "assets": [], - "sections" : [ - "Introduction", - "Demo", - "Procedure", - "Instruments", - "Simulator", - "Reference" - ] - } -} diff --git a/specifications/iit-kharagpur/kinematics-and-dynamics-of-mechanisms/e99082.json b/specifications/iit-kharagpur/kinematics-and-dynamics-of-mechanisms/e99082.json deleted file mode 100644 index 46cf4d3..0000000 --- a/specifications/iit-kharagpur/kinematics-and-dynamics-of-mechanisms/e99082.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "experiment": { - "id": "e99082", - "name": "Dead Center Synthesis with RRRR Mechanism", - "discipline_id": "mech", - "institute_id": "iitkgp", - "developers": [ - { - "name": "Prof. Kingshook Bhattacharyya", - "email": "king@mech.iitkgp.ernet.in" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlabs.iitkgp.ernet.in/kdm/exp22/index.html" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Dead Center Synthesis with RRRR Mechanism", - "assets": [], - "sections" : [ - "Introduction", - "Demo", - "Procedure", - "Instruments", - "Simulator", - "Reference" - ] - } -} diff --git a/specifications/iit-kharagpur/kinematics-and-dynamics-of-mechanisms/e99083.json b/specifications/iit-kharagpur/kinematics-and-dynamics-of-mechanisms/e99083.json deleted file mode 100644 index cba3c5a..0000000 --- a/specifications/iit-kharagpur/kinematics-and-dynamics-of-mechanisms/e99083.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "experiment": { - "id": "e99083", - "name": "Position Analysis of a 4 Bar RRPR Non Grashofian Inverted Slider Double Rocker Mechanism", - "discipline_id": "mech", - "institute_id": "iitkgp", - "developers": [ - { - "name": "Prof. Kingshook Bhattacharyya", - "email": "king@mech.iitkgp.ernet.in" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlabs.iitkgp.ernet.in/kdm/exp21/index.html" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Position Analysis of a 4 Bar RRPR Non Grashofian Inverted Slider Double Rocker Mechanism", - "assets": [], - "sections" : [ - "Introduction", - "Demo", - "Procedure", - "Instruments", - "Simulator", - "Reference" - ] - } -} diff --git a/specifications/iit-kharagpur/kinematics-and-dynamics-of-mechanisms/e99084.json b/specifications/iit-kharagpur/kinematics-and-dynamics-of-mechanisms/e99084.json deleted file mode 100644 index 64640f3..0000000 --- a/specifications/iit-kharagpur/kinematics-and-dynamics-of-mechanisms/e99084.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "experiment": { - "id": "e99084", - "name": "Position Analysis of a 4 Bar RRRP Non Grashofian Slider Rocker Mechanism", - "discipline_id": "mech", - "institute_id": "iitkgp", - "developers": [ - { - "name": "Prof. Kingshook Bhattacharyya", - "email": "king@mech.iitkgp.ernet.in" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlabs.iitkgp.ernet.in/kdm/exp19/index.html" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Position Analysis of a 4 Bar RRRP Non Grashofian Slider Rocker Mechanism", - "assets": [], - "sections" : [ - "Introduction", - "Demo", - "Procedure", - "Instruments", - "Simulator", - "Reference" - ] - } -} diff --git a/specifications/iit-kharagpur/kinematics-and-dynamics-of-mechanisms/e99085.json b/specifications/iit-kharagpur/kinematics-and-dynamics-of-mechanisms/e99085.json deleted file mode 100644 index 518dedf..0000000 --- a/specifications/iit-kharagpur/kinematics-and-dynamics-of-mechanisms/e99085.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "experiment": { - "id": "e99085", - "name": "Position Analysis of a 4 Bar RRRP Grashofian Slider Rocker Mechanism", - "discipline_id": "mech", - "institute_id": "iitkgp", - "developers": [ - { - "name": "Prof. Kingshook Bhattacharyya", - "email": "king@mech.iitkgp.ernet.in" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlabs.iitkgp.ernet.in/kdm/exp18/index.html" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Position Analysis of a 4 Bar RRRP Grashofian Slider Rocker Mechanism", - "assets": [], - "sections" : [ - "Introduction", - "Demo", - "Procedure", - "Instruments", - "Simulator", - "Reference" - ] - } -} diff --git a/specifications/iit-kharagpur/kinematics-and-dynamics-of-mechanisms/e99086.json b/specifications/iit-kharagpur/kinematics-and-dynamics-of-mechanisms/e99086.json deleted file mode 100644 index cdb2c56..0000000 --- a/specifications/iit-kharagpur/kinematics-and-dynamics-of-mechanisms/e99086.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "experiment": { - "id": "e99086", - "name": "Three Position Rigid Body Guidance with a RRRP Mechanism", - "discipline_id": "mech", - "institute_id": "iitkgp", - "developers": [ - { - "name": "Prof. Kingshook Bhattacharyya", - "email": "king@mech.iitkgp.ernet.in" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlabs.iitkgp.ernet.in/kdm/exp13/index.html" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Three Position Rigid Body Guidance with a RRRP Mechanism", - "assets": [], - "sections" : [ - "Introduction", - "Demo", - "Procedure", - "Instruments", - "Simulator" - ] - } -} diff --git a/specifications/iit-kharagpur/kinematics-and-dynamics-of-mechanisms/e99087.json b/specifications/iit-kharagpur/kinematics-and-dynamics-of-mechanisms/e99087.json deleted file mode 100644 index df9472e..0000000 --- a/specifications/iit-kharagpur/kinematics-and-dynamics-of-mechanisms/e99087.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "experiment": { - "id": "e99087", - "name": "Simulation of Universal Joint", - "discipline_id": "mech", - "institute_id": "iitkgp", - "developers": [ - { - "name": "Prof. Kingshook Bhattacharyya", - "email": "king@mech.iitkgp.ernet.in" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlabs.iitkgp.ernet.in/kdm/exp12/index.html" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Simulation of Universal Joint", - "assets": [], - "sections" : [ - "Introduction", - "Demo", - "Procedure", - "Simulator", - "Reference" - ] - } -} diff --git a/specifications/iit-kharagpur/kinematics-and-dynamics-of-mechanisms/e99088.json b/specifications/iit-kharagpur/kinematics-and-dynamics-of-mechanisms/e99088.json deleted file mode 100644 index 165c83c..0000000 --- a/specifications/iit-kharagpur/kinematics-and-dynamics-of-mechanisms/e99088.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "experiment": { - "id": "e99088", - "name": "Three Position Coordinated Motion Synthesis with a RRRR Mechanism", - "discipline_id": "mech", - "institute_id": "iitkgp", - "developers": [ - { - "name": "Prof. Kingshook Bhattacharyya", - "email": "king@mech.iitkgp.ernet.in" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlabs.iitkgp.ernet.in/kdm/exp10/index.html" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Three Position Coordinated Motion Synthesis with a RRRR Mechanism", - "assets": [], - "sections" : [ - "Introduction", - "Demo", - "Procedure", - "Simulator", - "Reference" - ] - } -} diff --git a/specifications/iit-kharagpur/kinematics-and-dynamics-of-mechanisms/e99089.json b/specifications/iit-kharagpur/kinematics-and-dynamics-of-mechanisms/e99089.json deleted file mode 100644 index 80c29e6..0000000 --- a/specifications/iit-kharagpur/kinematics-and-dynamics-of-mechanisms/e99089.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "experiment": { - "id": "e99089", - "name": "Kempe Straight Line Mechanism", - "discipline_id": "mech", - "institute_id": "iitkgp", - "developers": [ - { - "name": "Prof. Kingshook Bhattacharyya", - "email": "king@mech.iitkgp.ernet.in" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlabs.iitkgp.ernet.in/kdm/exp9/index.html" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Kempe Straight Line Mechanism", - "assets": [], - "sections" : [ - "Introduction", - "Demo", - "Procedure", - "Simulator", - "Reference" - ] - } -} diff --git a/specifications/iit-kharagpur/kinematics-and-dynamics-of-mechanisms/e99090.json b/specifications/iit-kharagpur/kinematics-and-dynamics-of-mechanisms/e99090.json deleted file mode 100644 index 8afdd0b..0000000 --- a/specifications/iit-kharagpur/kinematics-and-dynamics-of-mechanisms/e99090.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "experiment": { - "id": "e99090", - "name": "Hart Straight Line Mechanism 2", - "discipline_id": "mech", - "institute_id": "iitkgp", - "developers": [ - { - "name": "Prof. Kingshook Bhattacharyya", - "email": "king@mech.iitkgp.ernet.in" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlabs.iitkgp.ernet.in/kdm/exp8/index.html" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Hart Straight Line Mechanism 2", - "assets": [], - "sections" : [ - "Introduction", - "Demo", - "Procedure", - "Simulator", - "Reference" - ] - } -} diff --git a/specifications/iit-kharagpur/kinematics-and-dynamics-of-mechanisms/e99091.json b/specifications/iit-kharagpur/kinematics-and-dynamics-of-mechanisms/e99091.json deleted file mode 100644 index 85e5e91..0000000 --- a/specifications/iit-kharagpur/kinematics-and-dynamics-of-mechanisms/e99091.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "experiment": { - "id": "e99091", - "name": "Hart Straight Line Mechanism 1", - "discipline_id": "mech", - "institute_id": "iitkgp", - "developers": [ - { - "name": "Prof. Kingshook Bhattacharyya", - "email": "king@mech.iitkgp.ernet.in" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlabs.iitkgp.ernet.in/kdm/exp7/index.html" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Hart Straight Line Mechanism 1", - "assets": [], - "sections" : [ - "Introduction", - "Demo", - "Procedure", - "Simulator", - "Reference" - ] - } -} diff --git a/specifications/iit-kharagpur/kinematics-and-dynamics-of-mechanisms/e99092.json b/specifications/iit-kharagpur/kinematics-and-dynamics-of-mechanisms/e99092.json deleted file mode 100644 index c018a14..0000000 --- a/specifications/iit-kharagpur/kinematics-and-dynamics-of-mechanisms/e99092.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "experiment": { - "id": "e99092", - "name": "Three Position Rigid Body Guidance with a RRRR Mechanism", - "discipline_id": "mech", - "institute_id": "iitkgp", - "developers": [ - { - "name": "Prof. Kingshook Bhattacharyya", - "email": "king@mech.iitkgp.ernet.in" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlabs.iitkgp.ernet.in/kdm/exp6/index.html" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Three Position Rigid Body Guidance with a RRRR Mechanism", - "assets": [], - "sections" : [ - "Introduction", - "Demo", - "Procedure", - "Instruments", - "Simulator", - "Reference" - ] - } -} diff --git a/specifications/iit-kharagpur/kinematics-and-dynamics-of-mechanisms/e99093.json b/specifications/iit-kharagpur/kinematics-and-dynamics-of-mechanisms/e99093.json deleted file mode 100644 index d2d2ec5..0000000 --- a/specifications/iit-kharagpur/kinematics-and-dynamics-of-mechanisms/e99093.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "experiment": { - "id": "e99093", - "name": "Peaucellier Mechanism", - "discipline_id": "mech", - "institute_id": "iitkgp", - "developers": [ - { - "name": "Prof. Kingshook Bhattacharyya", - "email": "king@mech.iitkgp.ernet.in" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlabs.iitkgp.ernet.in/kdm/exp4/index.html" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Peaucellier Mechanism", - "assets": [], - "sections" : [ - "Introduction", - "Demo", - "Procedure", - "Simulator", - "Reference" - ] - } -} diff --git a/specifications/iit-kharagpur/kinematics-and-dynamics-of-mechanisms/e99094.json b/specifications/iit-kharagpur/kinematics-and-dynamics-of-mechanisms/e99094.json deleted file mode 100644 index f304f2c..0000000 --- a/specifications/iit-kharagpur/kinematics-and-dynamics-of-mechanisms/e99094.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "experiment": { - "id": "e99094", - "name": "Position Analysis of Spherical 4 Bar Mechanisms", - "discipline_id": "mech", - "institute_id": "iitkgp", - "developers": [ - { - "name": "Prof. Kingshook Bhattacharyya", - "email": "king@mech.iitkgp.ernet.in" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlabs.iitkgp.ernet.in/kdm/exp3/index.html" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Position Analysis of Spherical 4 Bar Mechanisms", - "assets": [], - "sections" : [ - "Introduction", - "Theory", - "Simulator", - "Reference" - ] - } -} diff --git a/specifications/iit-kharagpur/kinematics-and-dynamics-of-mechanisms/e99095.json b/specifications/iit-kharagpur/kinematics-and-dynamics-of-mechanisms/e99095.json deleted file mode 100644 index 98d950f..0000000 --- a/specifications/iit-kharagpur/kinematics-and-dynamics-of-mechanisms/e99095.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "experiment": { - "id": "e99095", - "name": "Three Point Path Synthesis with a RRRR Mechanism", - "discipline_id": "mech", - "institute_id": "iitkgp", - "developers": [ - { - "name": "Prof. Kingshook Bhattacharyya", - "email": "king@mech.iitkgp.ernet.in" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlabs.iitkgp.ernet.in/kdm/exp2/index.html" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Three Point Path Synthesis with a RRRR Mechanism", - "assets": [], - "sections" : [ - "Introduction", - "Demo", - "Procedure", - "Instruments", - "Simulator", - "Quiz", - "References" - ] - } -} diff --git a/specifications/iit-kharagpur/kinematics-and-dynamics-of-mechanisms/e99096.json b/specifications/iit-kharagpur/kinematics-and-dynamics-of-mechanisms/e99096.json deleted file mode 100644 index 435cbf9..0000000 --- a/specifications/iit-kharagpur/kinematics-and-dynamics-of-mechanisms/e99096.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "experiment": { - "id": "e99096", - "name": "Position Analysis of a 4 Bar RPRR Grashofian Inverted Slider Crank Rocker Mechanism", - "discipline_id": "mech", - "institute_id": "iitkgp", - "developers": [ - { - "name": "Prof. Kingshook Bhattacharyya", - "email": "king@mech.iitkgp.ernet.in" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://bs.iitkgp.ernet.in/kdm/exp30/index.html" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Position Analysis of a 4 Bar RPRR Grashofian Inverted Slider Crank Rocker Mechanism", - "assets": [], - "sections" : [ - "Introduction", - "Demo", - "Procedure", - "Instruments", - "Simulator", - "Reference" - ] - } -} diff --git a/specifications/iit-kharagpur/kinematics-and-dynamics-of-mechanisms/e99097.json b/specifications/iit-kharagpur/kinematics-and-dynamics-of-mechanisms/e99097.json deleted file mode 100644 index 65e8c51..0000000 --- a/specifications/iit-kharagpur/kinematics-and-dynamics-of-mechanisms/e99097.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "experiment": { - "id": "e99097", - "name": "Position Analysis of a 4 Bar RPRR Grashofian Inverted Slider Crank Mechanism", - "discipline_id": "mech", - "institute_id": "iitkgp", - "developers": [ - { - "name": "Prof. Kingshook Bhattacharyya", - "email": "king@mech.iitkgp.ernet.in" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlabs.iitkgp.ernet.in/kdm/exp29/index.html" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Position Analysis of a 4 Bar RPRR Grashofian Inverted Slider Crank Mechanism", - "assets": [], - "sections" : [ - "Introduction", - "Demo", - "Procedure", - "Instruments", - "Simulator", - "Reference" - ] - } -} diff --git a/specifications/iit-kharagpur/kinematics-and-dynamics-of-mechanisms/e99098.json b/specifications/iit-kharagpur/kinematics-and-dynamics-of-mechanisms/e99098.json deleted file mode 100644 index fd2bf74..0000000 --- a/specifications/iit-kharagpur/kinematics-and-dynamics-of-mechanisms/e99098.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "experiment": { - "id": "e99098", - "name": "Position Analysis of a 4 Bar RRPR Grashofian Inverted Slider Crank Rocker Mechanism", - "discipline_id": "mech", - "institute_id": "iitkgp", - "developers": [ - { - "name": "Prof. Kingshook Bhattacharyya", - "email": "king@mech.iitkgp.ernet.in" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlabs.iitkgp.ernet.in/kdm/exp20/index.html" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Position Analysis of a 4 Bar RRPR Grashofian Inverted Slider Crank Rocker Mechanism", - "assets": [], - "sections" : [ - "Introduction", - "Demo", - "Procedure", - "Instruments", - "Simulator", - "Reference" - ] - } -} diff --git a/specifications/iit-kharagpur/kinematics-and-dynamics-of-mechanisms/e99099.json b/specifications/iit-kharagpur/kinematics-and-dynamics-of-mechanisms/e99099.json deleted file mode 100644 index 3ba610b..0000000 --- a/specifications/iit-kharagpur/kinematics-and-dynamics-of-mechanisms/e99099.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "experiment": { - "id": "e99099", - "name": "Position Analysis of a 4 Bar RRRP Grashofian Slider Crank Mechanism", - "discipline_id": "mech", - "institute_id": "iitkgp", - "developers": [ - { - "name": "Prof. Kingshook Bhattacharyya", - "email": "king@mech.iitkgp.ernet.in" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlabs.iitkgp.ernet.in/kdm/exp17/index.html" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Position Analysis of a 4 Bar RRRP Grashofian Slider Crank Mechanism", - "assets": [], - "sections" : [ - "Introduction", - "Demo", - "Procedure", - "Instruments", - "Simulator", - "Reference" - ] - } -} diff --git a/specifications/iit-kharagpur/kinematics-and-dynamics-of-mechanisms/e99100.json b/specifications/iit-kharagpur/kinematics-and-dynamics-of-mechanisms/e99100.json deleted file mode 100644 index ad3843a..0000000 --- a/specifications/iit-kharagpur/kinematics-and-dynamics-of-mechanisms/e99100.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "experiment": { - "id": "e99100", - "name": "Position Analysis of a 4 Bar RRRR Non Grashofian Double Rocker Mechanism", - "discipline_id": "mech", - "institute_id": "iitkgp", - "developers": [ - { - "name": "Prof. Kingshook Bhattacharyya", - "email": "king@mech.iitkgp.ernet.in" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlabs.iitkgp.ernet.in/kdm/exp16/index.html" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Position Analysis of a 4 Bar RRRR Non Grashofian Double Rocker Mechanism", - "assets": [], - "sections" : [ - "Introduction", - "Demo", - "Procedure", - "Instruments", - "Simulator", - "Reference" - ] - } -} diff --git a/specifications/iit-kharagpur/kinematics-and-dynamics-of-mechanisms/e99101.json b/specifications/iit-kharagpur/kinematics-and-dynamics-of-mechanisms/e99101.json deleted file mode 100644 index a77fba9..0000000 --- a/specifications/iit-kharagpur/kinematics-and-dynamics-of-mechanisms/e99101.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "experiment": { - "id": "e99101", - "name": "Position Analysis of a 4 Bar RRRR Grashofian Double Rocker Mechanism", - "discipline_id": "mech", - "institute_id": "iitkgp", - "developers": [ - { - "name": "Prof. Kingshook Bhattacharyya", - "email": "king@mech.iitkgp.ernet.in" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlabs.iitkgp.ernet.in/kdm/exp15/index.html" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Position Analysis of a 4 Bar RRRR Grashofian Double Rocker Mechanism", - "assets": [], - "sections" : [ - "Introduction", - "Demo", - "Procedure", - "Instruments", - "Simulator", - "Reference" - ] - } -} diff --git a/specifications/iit-kharagpur/kinematics-and-dynamics-of-mechanisms/e99102.json b/specifications/iit-kharagpur/kinematics-and-dynamics-of-mechanisms/e99102.json deleted file mode 100644 index 002947d..0000000 --- a/specifications/iit-kharagpur/kinematics-and-dynamics-of-mechanisms/e99102.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "experiment": { - "id": "e99102", - "name": "Position Analysis of a 4 Bar RRRR Grashofian Crank Rocker Mechanism", - "discipline_id": "mech", - "institute_id": "iitkgp", - "developers": [ - { - "name": "Prof. Kingshook Bhattacharyya", - "email": "king@mech.iitkgp.ernet.in" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlabs.iitkgp.ernet.in/kdm/exp14/index.html" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Position Analysis of a 4 Bar RRRR Grashofian Crank Rocker Mechanism", - "assets": [], - "sections" : [ - "Introduction", - "Demo", - "Procedure", - "Instruments", - "Simulator", - "Reference" - ] - } -} diff --git a/specifications/iit-kharagpur/kinematics-and-dynamics-of-mechanisms/e99103.json b/specifications/iit-kharagpur/kinematics-and-dynamics-of-mechanisms/e99103.json deleted file mode 100644 index 5793d91..0000000 --- a/specifications/iit-kharagpur/kinematics-and-dynamics-of-mechanisms/e99103.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "experiment": { - "id": "e99103", - "name": "Position Analysis of a 4 Bar RRRR Grashofian Double Crank Mechanism", - "discipline_id": "mech", - "institute_id": "iitkgp", - "developers": [ - { - "name": "Prof. Kingshook Bhattacharyya", - "email": "king@mech.iitkgp.ernet.in" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlabs.iitkgp.ernet.in/kdm/exp5/index.html" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Position Analysis of a 4 Bar RRRR Grashofian Double Crank Mechanism", - "assets": [], - "sections" : [ - "Introduction", - "Demo", - "Procedure", - "Instruments", - "Simulator", - "Reference" - ] - } -} diff --git a/specifications/iit-kharagpur/kinematics-and-dynamics-of-mechanisms/e99104.json b/specifications/iit-kharagpur/kinematics-and-dynamics-of-mechanisms/e99104.json deleted file mode 100644 index b97db25..0000000 --- a/specifications/iit-kharagpur/kinematics-and-dynamics-of-mechanisms/e99104.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "experiment": { - "id": "e99104", - "name": "Position Analysis of a 4 Bar RRPR Grashofian Inverted Slider Crank Mechanism", - "discipline_id": "mech", - "institute_id": "iitkgp", - "developers": [ - { - "name": "Prof. Kingshook Bhattacharyya", - "email": "king@mech.iitkgp.ernet.in" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlabs.iitkgp.ernet.in/kdm/exp11/index.html" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Position Analysis of a 4 Bar RRPR Grashofian Inverted Slider Crank Mechanism", - "assets": [], - "sections" : [ - "Introduction", - "Demo", - "Procedure", - "Instruments", - "Simulator", - "Reference" - ] - } -} diff --git a/specifications/iit-kharagpur/kinematics-and-dynamics-of-mechanisms/e99105.json b/specifications/iit-kharagpur/kinematics-and-dynamics-of-mechanisms/e99105.json deleted file mode 100644 index 4c11143..0000000 --- a/specifications/iit-kharagpur/kinematics-and-dynamics-of-mechanisms/e99105.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "experiment": { - "id": "e99105", - "name": "Simple Drawing Board", - "discipline_id": "mech", - "institute_id": "iitkgp", - "developers": [ - { - "name": "Prof. Kingshook Bhattacharyya", - "email": "king@mech.iitkgp.ernet.in" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlabs.iitkgp.ernet.in/kdm/exp1/index.html" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Simple Drawing Board", - "assets": [], - "sections" : [ - "Introduction", - "Theory", - "Instruments", - "Simulator" - ] - } -} diff --git a/specifications/iit-kharagpur/kinematics-and-dynamics-of-mechanisms/kinematics-and-dynamics-of-mechanisms.json b/specifications/iit-kharagpur/kinematics-and-dynamics-of-mechanisms/kinematics-and-dynamics-of-mechanisms.json deleted file mode 100644 index 0f39556..0000000 --- a/specifications/iit-kharagpur/kinematics-and-dynamics-of-mechanisms/kinematics-and-dynamics-of-mechanisms.json +++ /dev/null @@ -1,63 +0,0 @@ -{ - "lab": { - "id": "VLS01", - "name": "kinematics and dynamics of mechanisms", - "discipline_id": "mech", - "institute_id": "iitkgp", - "developers": [ - { - "name": "Prof. Kingshook Bhattacharyya", - "email": "king@mech.iitkgp.ernet.in" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlabs.iitkgp.ernet.in/kdm/" - } - ], - "integration_level": 4, - "overview": "This lab deals with kinematics and dynamics of mechanisms", - "assets": [], - "sections": [ - { - "name": "Introduction" - }, - { - "experiments" : [ - "e99105", - "e99104", - "e99103", - "e99102", - "e99101", - "e99100", - "e99099", - "e99098", - "e99097", - "e99096", - "e99095", - "e99094", - "e99093", - "e99092", - "e99091", - "e99090", - "e99089", - "e99088", - "e99087", - "e99086", - "e99085", - "e99084", - "e99083", - "e99082", - "e99081", - "e99080", - "e99079", - "e99078", - "e99077", - "e99076" - ] - } - ] - } -} diff --git a/specifications/iit-kharagpur/mechanical-systems-and-signal-processing-lab/dump_json_to_lds.py b/specifications/iit-kharagpur/mechanical-systems-and-signal-processing-lab/dump_json_to_lds.py deleted file mode 100644 index 78c74fa..0000000 --- a/specifications/iit-kharagpur/mechanical-systems-and-signal-processing-lab/dump_json_to_lds.py +++ /dev/null @@ -1,44 +0,0 @@ - -import os -import os.path -import json -import requests -import glob - -URL= 'http://localhost:5000' -json_path_list = [] - -def post_lab_spec(file_path): - - with open(file_path) as json_file: - print file_path - data = json.load(json_file) - if 'lab' in data.keys(): - end_point = "/labs" - if 'experiment' in data.keys(): - end_point = "/experiments" - - data['key'] = 'defaultkey' - APP_URL = URL + end_point - headers = {'Content-Type': 'application/json'} - try: - response = requests.post(APP_URL, data = json.dumps(data), - headers=headers) - if response.status_code == 200: - print "Added json data : " + file_path - else: - print "Errore in adding json file " + file_path + " due to " + response.text - except Exception as e: - print str(e) -try: - exp_file_list = glob.glob(os.getcwd() + "/e9*.json") - lab_file_list = glob.glob(os.getcwd() + "/[!e9]*.json") - - for filename in exp_file_list: - json_path_list.append(filename) -except Exception as e: - print str(e) - -for file_path in json_path_list: - post_lab_spec(file_path) -post_lab_spec(lab_file_list[0]) diff --git a/specifications/iit-kharagpur/mechanical-systems-and-signal-processing-lab/e99043.json b/specifications/iit-kharagpur/mechanical-systems-and-signal-processing-lab/e99043.json deleted file mode 100644 index 42c5077..0000000 --- a/specifications/iit-kharagpur/mechanical-systems-and-signal-processing-lab/e99043.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "experiment": { - "id": "e99043", - "name": "Ultrasonics in Fault Detection", - "discipline_id": "mech", - "institute_id": "iitkgp", - "developers": [ - { - "name": "Prof. A R Mohanty", - "email": "amohanty@mech.iitkgp.ernet.in" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlabs.iitkgp.ernet.in/mssp/exp6/index.html" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Ultrasonics in Fault Detection", - "assets": [], - "sections" : [ - "Introduction", - "Theory", - "Objective", - "Procedure", - "Simulator", - "Reference" - ] - } -} diff --git a/specifications/iit-kharagpur/mechanical-systems-and-signal-processing-lab/e99044.json b/specifications/iit-kharagpur/mechanical-systems-and-signal-processing-lab/e99044.json deleted file mode 100644 index ebe09a5..0000000 --- a/specifications/iit-kharagpur/mechanical-systems-and-signal-processing-lab/e99044.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "experiment": { - "id": "e99044", - "name": "Electrical Motor Fault Detection by MCSA", - "discipline_id": "mech", - "institute_id": "iitkgp", - "developers": [ - { - "name": "Prof. A R Mohanty", - "email": "amohanty@mech.iitkgp.ernet.in" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlabs.iitkgp.ernet.in/mssp/exp10/index.html" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Electrical Motor Fault Detection by MCSA", - "assets": [], - "sections" : [ - "Introduction", - "Theory", - "Objective", - "Modules", - "Simulator" - ] - } -} diff --git a/specifications/iit-kharagpur/mechanical-systems-and-signal-processing-lab/e99045.json b/specifications/iit-kharagpur/mechanical-systems-and-signal-processing-lab/e99045.json deleted file mode 100644 index 3422cee..0000000 --- a/specifications/iit-kharagpur/mechanical-systems-and-signal-processing-lab/e99045.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "experiment": { - "id": "e99045", - "name": "Vibration Monitoring of Machineries by Wireless Technique", - "discipline_id": "mech", - "institute_id": "iitkgp", - "developers": [ - { - "name": "Prof. A R Mohanty", - "email": "amohanty@mech.iitkgp.ernet.in" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlabs.iitkgp.ernet.in/mssp/exp9/index.html" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Vibration Monitoring of Machineries by Wireless Technique", - "assets": [], - "sections" : [ - "Introduction", - "Theory", - "Objective", - "Procedure", - "Simulator", - "Reference" - ] - } -} diff --git a/specifications/iit-kharagpur/mechanical-systems-and-signal-processing-lab/e99046.json b/specifications/iit-kharagpur/mechanical-systems-and-signal-processing-lab/e99046.json deleted file mode 100644 index b979ba7..0000000 --- a/specifications/iit-kharagpur/mechanical-systems-and-signal-processing-lab/e99046.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "experiment": { - "id": "e99046", - "name": "Responses of First and Second Order Mechanical Systems", - "discipline_id": "mech", - "institute_id": "iitkgp", - "developers": [ - { - "name": "Prof. A R Mohanty", - "email": "amohanty@mech.iitkgp.ernet.in" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlabs.iitkgp.ernet.in/mssp/exp2/index.html" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Responses of First and Second Order Mechanical Systems", - "assets": [], - "sections" : [ - "Introduction", - "Theory", - "Objective", - "Procedure", - "Simulator", - "Quiz", - "Assignment", - "Reference" - ] - } -} diff --git a/specifications/iit-kharagpur/mechanical-systems-and-signal-processing-lab/e99047.json b/specifications/iit-kharagpur/mechanical-systems-and-signal-processing-lab/e99047.json deleted file mode 100644 index 772550c..0000000 --- a/specifications/iit-kharagpur/mechanical-systems-and-signal-processing-lab/e99047.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "experiment": { - "id": "e99047", - "name": "Time-Frequency Analysis of Mechanical Systems", - "discipline_id": "mech", - "institute_id": "iitkgp", - "developers": [ - { - "name": "Prof. A R Mohanty", - "email": "amohanty@mech.iitkgp.ernet.in" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlabs.iitkgp.ernet.in/mssp/exp5/index.html" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Time-Frequency Analysis of Mechanical Systems", - "assets": [], - "sections" : [ - "Introduction", - "Theory", - "Objective", - "Procedure", - "Simulator", - "Reference" - ] - } -} diff --git a/specifications/iit-kharagpur/mechanical-systems-and-signal-processing-lab/e99048.json b/specifications/iit-kharagpur/mechanical-systems-and-signal-processing-lab/e99048.json deleted file mode 100644 index fa24ea6..0000000 --- a/specifications/iit-kharagpur/mechanical-systems-and-signal-processing-lab/e99048.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "experiment": { - "id": "e99048", - "name": "Frequency Response of Mechanical Systems", - "discipline_id": "mech", - "institute_id": "iitkgp", - "developers": [ - { - "name": "Prof. A R Mohanty", - "email": "amohanty@mech.iitkgp.ernet.in" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlabs.iitkgp.ernet.in/mssp/exp4/index.htm" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Frequency Response of Mechanical Systems", - "assets": [], - "sections" : [ - "Introduction", - "Theory", - "Objective", - "Procedure", - "Simulator", - "Quiz", - "Assignment", - "Reference" - ] - } -} diff --git a/specifications/iit-kharagpur/mechanical-systems-and-signal-processing-lab/e99049.json b/specifications/iit-kharagpur/mechanical-systems-and-signal-processing-lab/e99049.json deleted file mode 100644 index 646459c..0000000 --- a/specifications/iit-kharagpur/mechanical-systems-and-signal-processing-lab/e99049.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "experiment": { - "id": "e99049", - "name": "Basics of Frequency Domain Signal Analysis", - "discipline_id": "mech", - "institute_id": "iitkgp", - "developers": [ - { - "name": "Prof. A R Mohanty", - "email": "amohanty@mech.iitkgp.ernet.in" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlabs.iitkgp.ernet.in/mssp/exp3/index.html" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Basics of Frequency Domain Signal Analysis", - "assets": [], - "sections" : [ - "Introduction", - "Theory", - "Objective", - "Modules", - "Quiz", - "Assignment", - "Reference" - ] - } -} diff --git a/specifications/iit-kharagpur/mechanical-systems-and-signal-processing-lab/e99050.json b/specifications/iit-kharagpur/mechanical-systems-and-signal-processing-lab/e99050.json deleted file mode 100644 index 4d1d8fe..0000000 --- a/specifications/iit-kharagpur/mechanical-systems-and-signal-processing-lab/e99050.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "experiment": { - "id": "e99050", - "name": "Pump Impeller Fault Detection", - "discipline_id": "mech", - "institute_id": "iitkgp", - "developers": [ - { - "name": "Prof. A R Mohanty", - "email": "amohanty@mech.iitkgp.ernet.in" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlabs.iitkgp.ernet.in/mssp/exp8/index.html" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Pump Impeller Fault Detection", - "assets": [], - "sections" : [ - "Introduction", - "Theory", - "Objective", - "Modules", - "Assignment", - "Reference" - ] - } -} diff --git a/specifications/iit-kharagpur/mechanical-systems-and-signal-processing-lab/e99051.json b/specifications/iit-kharagpur/mechanical-systems-and-signal-processing-lab/e99051.json deleted file mode 100644 index 5df80bc..0000000 --- a/specifications/iit-kharagpur/mechanical-systems-and-signal-processing-lab/e99051.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "experiment": { - "id": "e99051", - "name": "Basics of Dynamic Signals", - "discipline_id": "mech", - "institute_id": "iitkgp", - "developers": [ - { - "name": "Prof. A R Mohanty", - "email": "amohanty@mech.iitkgp.ernet.in" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlabs.iitkgp.ernet.in/mssp/exp1/index.html" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Basics of Dynamic Signals", - "assets": [], - "sections" : [ - "Introduction", - "Theory", - "Objective", - "Modules", - "Quiz", - "Assignment", - "Reference" - ] - } -} diff --git a/specifications/iit-kharagpur/mechanical-systems-and-signal-processing-lab/mechanical-systems-and-signal-processing-lab.json b/specifications/iit-kharagpur/mechanical-systems-and-signal-processing-lab/mechanical-systems-and-signal-processing-lab.json deleted file mode 100644 index 8c6aa3e..0000000 --- a/specifications/iit-kharagpur/mechanical-systems-and-signal-processing-lab/mechanical-systems-and-signal-processing-lab.json +++ /dev/null @@ -1,43 +0,0 @@ -{ - "lab": { - "id": "VLS16", - "name": "mechanical systems and signal processing lab", - "discipline_id": "mech", - "institute_id": "iitkgp", - "developers": [ - { - "name": "Prof. A R Mohanty", - "email": "amohanty@mech.iitkgp.ernet.in" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlabs.iitkgp.ernet.in/mssp/" - } - ], - "integration_level": 4, - "overview": "This lab deals with mechanical systems and signal processing lab", - "assets": [], - "sections": [ - { - "name": "Introduction" - }, - { - "experiments" : [ - "e99051", - "e99050", - "e99049", - "e99048", - "e99047", - "e99046", - "e99045", - "e99044", - "e99043", - "e99042" - ] - } - ] - } -} diff --git a/specifications/iit-kharagpur/model-based-fault-detection-lab/dump_json_to_lds.py b/specifications/iit-kharagpur/model-based-fault-detection-lab/dump_json_to_lds.py deleted file mode 100644 index 78c74fa..0000000 --- a/specifications/iit-kharagpur/model-based-fault-detection-lab/dump_json_to_lds.py +++ /dev/null @@ -1,44 +0,0 @@ - -import os -import os.path -import json -import requests -import glob - -URL= 'http://localhost:5000' -json_path_list = [] - -def post_lab_spec(file_path): - - with open(file_path) as json_file: - print file_path - data = json.load(json_file) - if 'lab' in data.keys(): - end_point = "/labs" - if 'experiment' in data.keys(): - end_point = "/experiments" - - data['key'] = 'defaultkey' - APP_URL = URL + end_point - headers = {'Content-Type': 'application/json'} - try: - response = requests.post(APP_URL, data = json.dumps(data), - headers=headers) - if response.status_code == 200: - print "Added json data : " + file_path - else: - print "Errore in adding json file " + file_path + " due to " + response.text - except Exception as e: - print str(e) -try: - exp_file_list = glob.glob(os.getcwd() + "/e9*.json") - lab_file_list = glob.glob(os.getcwd() + "/[!e9]*.json") - - for filename in exp_file_list: - json_path_list.append(filename) -except Exception as e: - print str(e) - -for file_path in json_path_list: - post_lab_spec(file_path) -post_lab_spec(lab_file_list[0]) diff --git a/specifications/iit-kharagpur/model-based-fault-detection-lab/model-based-fault-detection-lab.json b/specifications/iit-kharagpur/model-based-fault-detection-lab/model-based-fault-detection-lab.json deleted file mode 100644 index 6dd83fe..0000000 --- a/specifications/iit-kharagpur/model-based-fault-detection-lab/model-based-fault-detection-lab.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "lab": { - "id": "VLS17", - "name": "model based fault detection lab", - "discipline_id": "mech", - "institute_id": "iitkgp", - "developers": [ - { - "name": "Prof. Mihir Sarangi", - "email": "smihir@mech.iitkgp.ernet.in" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlabs.iitkgp.ernet.in/mbfd/" - } - ], - "integration_level": 4, - "overview": "This lab deals with model based fault detection lab", - "assets": [], - "sections": [ - { - "name": "Introduction" - }, - { - "experiments" : [] - } - ] - } -} diff --git a/specifications/iit-kharagpur/programming-and-data-structures-lab/dump_json_to_lds.py b/specifications/iit-kharagpur/programming-and-data-structures-lab/dump_json_to_lds.py deleted file mode 100644 index e1772b8..0000000 --- a/specifications/iit-kharagpur/programming-and-data-structures-lab/dump_json_to_lds.py +++ /dev/null @@ -1,45 +0,0 @@ - -import os -import os.path -import json -import requests -import glob - -URL= 'http://localhost:5000' -json_path_list = [] - -def post_lab_spec(file_path): - - with open(file_path) as json_file: - print file_path - data = json.load(json_file) - if 'lab' in data.keys(): - end_point = "/labs" - if 'experiment' in data.keys(): - end_point = "/experiments" - - data['key'] = 'defaultkey' - APP_URL = URL + end_point - headers = {'Content-Type': 'application/json'} - try: - response = requests.post(APP_URL, data = json.dumps(data), - headers=headers) - if response.status_code == 200: - print "Added json data : " + file_path - else: - print "Errore in adding json file " + file_path + " due to " + response.text - except Exception as e: - print str(e) -try: - exp_file_list = glob.glob(os.getcwd() + "/e9*.json") - #lab_file_list = glob.glob(os.getcwd() + "/[!e9]*.json") - lab_file_list = glob.glob(os.getcwd() + "/program*.json") - for filename in exp_file_list: - json_path_list.append(filename) -except Exception as e: - print str(e) - -for file_path in json_path_list: - post_lab_spec(file_path) -print lab_file_list -post_lab_spec(lab_file_list[0]) diff --git a/specifications/iit-kharagpur/programming-and-data-structures-lab/e98357.json b/specifications/iit-kharagpur/programming-and-data-structures-lab/e98357.json deleted file mode 100644 index 1536116..0000000 --- a/specifications/iit-kharagpur/programming-and-data-structures-lab/e98357.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "experiment": { - "id": "e98357", - "name": "Abstract Data Type: Complex Number", - "overview": "This experiment deals with Abstract Data Type: Complex Number", - "discipline_id": "cse", - "institute_id": "iitkgp", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://cse.iitkgp.ac.in/~rkumar/pds-vlab/" - } - ], - "integration_level": 0, - "assets": [], - "sections": [ - "Theory", - "Tutorial", - "Lab work", - "Assignment", - "Simulation", - "FAQ", - "Contents" - ] - } -} diff --git a/specifications/iit-kharagpur/programming-and-data-structures-lab/e98358.json b/specifications/iit-kharagpur/programming-and-data-structures-lab/e98358.json deleted file mode 100644 index 9cb6c05..0000000 --- a/specifications/iit-kharagpur/programming-and-data-structures-lab/e98358.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "experiment": { - "id": "e98358", - "name": "strings In C", - "overview": "This experiment deals with strings In C", - "discipline_id": "cse", - "institute_id": "iitkgp", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://cse.iitkgp.ac.in/~rkumar/pds-vlab/" - } - ], - "integration_level": 0, - "assets": [], - "sections": [ - "Theory", - "Tutorial", - "Lab work", - "Assignment", - "Simulation", - "FAQ", - "Contents" - ] - } -} diff --git a/specifications/iit-kharagpur/programming-and-data-structures-lab/e98359.json b/specifications/iit-kharagpur/programming-and-data-structures-lab/e98359.json deleted file mode 100644 index c93d5fe..0000000 --- a/specifications/iit-kharagpur/programming-and-data-structures-lab/e98359.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "experiment": { - "id": "e98359", - "name": "Matrix Calculations In C", - "overview": "This experiment deals with Matrix Calculations In C", - "discipline_id": "cse", - "institute_id": "iitkgp", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://cse.iitkgp.ac.in/~rkumar/pds-vlab/" - } - ], - "integration_level": 0, - "assets": [], - "sections": [ - "Theory", - "Tutorial", - "Lab work", - "Assignment", - "Simulation", - "FAQ", - "Contents" - ] - } -} diff --git a/specifications/iit-kharagpur/programming-and-data-structures-lab/e98361.json b/specifications/iit-kharagpur/programming-and-data-structures-lab/e98361.json deleted file mode 100644 index b6e1207..0000000 --- a/specifications/iit-kharagpur/programming-and-data-structures-lab/e98361.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "experiment": { - "id": "e98361", - "name": "Multi-dimensional Array", - "overview": "This experiment deals with Multi-dimensional Array", - "discipline_id": "cse", - "institute_id": "iitkgp", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://cse.iitkgp.ac.in/~rkumar/pds-vlab/" - } - ], - "integration_level": 0, - "assets": [], - "sections": [ - "Theory", - "Tutorial", - "Lab work", - "Assignment", - "Simulation", - "FAQ", - "Contents" - ] - } -} diff --git a/specifications/iit-kharagpur/programming-and-data-structures-lab/e98362.json b/specifications/iit-kharagpur/programming-and-data-structures-lab/e98362.json deleted file mode 100644 index ddb56a4..0000000 --- a/specifications/iit-kharagpur/programming-and-data-structures-lab/e98362.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "experiment": { - "id": "e98362", - "name": "Linear Sorting.:Insertion Sort", - "overview": "This experiment deals with Linear Sorting.:Insertion Sort", - "discipline_id": "cse", - "institute_id": "iitkgp", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://cse.iitkgp.ac.in/~rkumar/pds-vlab/" - } - ], - "integration_level": 0, - "assets": [], - "sections": [ - "Theory", - "Tutorial", - "Lab work", - "Assignment", - "Simulation", - "FAQ", - "Contents" - ] - } -} diff --git a/specifications/iit-kharagpur/programming-and-data-structures-lab/e98363.json b/specifications/iit-kharagpur/programming-and-data-structures-lab/e98363.json deleted file mode 100644 index 7bde746..0000000 --- a/specifications/iit-kharagpur/programming-and-data-structures-lab/e98363.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "experiment": { - "id": "e98363", - "name": "Linear Sorting.:selection sort", - "overview": "This experiment deals with Linear Sorting.:selection sort", - "discipline_id": "cse", - "institute_id": "iitkgp", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://cse.iitkgp.ac.in/~rkumar/pds-vlab/" - } - ], - "integration_level": 0, - "assets": [], - "sections": [ - "Theory", - "Tutorial", - "Lab work", - "Assignment", - "Simulation", - "FAQ", - "Contents" - ] - } -} diff --git a/specifications/iit-kharagpur/programming-and-data-structures-lab/e98364.json b/specifications/iit-kharagpur/programming-and-data-structures-lab/e98364.json deleted file mode 100644 index 42a0a71..0000000 --- a/specifications/iit-kharagpur/programming-and-data-structures-lab/e98364.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "experiment": { - "id": "e98364", - "name": "Binary Searching", - "overview": "This experiment deals with Binary Searching", - "discipline_id": "cse", - "institute_id": "iitkgp", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://cse.iitkgp.ac.in/~rkumar/pds-vlab/" - } - ], - "integration_level": 0, - "assets": [], - "sections": [ - "Theory", - "Tutorial", - "Lab work", - "Assignment", - "Simulation", - "FAQ", - "Contents" - ] - } -} diff --git a/specifications/iit-kharagpur/programming-and-data-structures-lab/e98365.json b/specifications/iit-kharagpur/programming-and-data-structures-lab/e98365.json deleted file mode 100644 index 34302f6..0000000 --- a/specifications/iit-kharagpur/programming-and-data-structures-lab/e98365.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "experiment": { - "id": "e98365", - "name": "Linear Searching", - "overview": "This experiment deals with Linear Searching", - "discipline_id": "cse", - "institute_id": "iitkgp", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://cse.iitkgp.ac.in/~rkumar/pds-vlab/" - } - ], - "integration_level": 0, - "assets": [], - "sections": [ - "Theory", - "Tutorial", - "Lab work", - "Assignment", - "Simulation", - "FAQ", - "Contents" - ] - } -} diff --git a/specifications/iit-kharagpur/programming-and-data-structures-lab/e98366.json b/specifications/iit-kharagpur/programming-and-data-structures-lab/e98366.json deleted file mode 100644 index 515e8aa..0000000 --- a/specifications/iit-kharagpur/programming-and-data-structures-lab/e98366.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "experiment": { - "id": "e98366", - "name": "Dimensional Array", - "overview": "This experiment deals with Dimensional Array", - "discipline_id": "cse", - "institute_id": "iitkgp", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://cse.iitkgp.ac.in/~rkumar/pds-vlab/" - } - ], - "integration_level": 0, - "assets": [], - "sections": [ - "Theory", - "Tutorial", - "Lab work", - "Assignment", - "Simulation", - "FAQ", - "Contents" - ] - } -} diff --git a/specifications/iit-kharagpur/programming-and-data-structures-lab/e98367.json b/specifications/iit-kharagpur/programming-and-data-structures-lab/e98367.json deleted file mode 100644 index d21416d..0000000 --- a/specifications/iit-kharagpur/programming-and-data-structures-lab/e98367.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "experiment": { - "id": "e98367", - "name": "Non-reursive fibonacci Series", - "overview": "This experiment deals with Non-reursive fibonacci Series", - "discipline_id": "cse", - "institute_id": "iitkgp", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://cse.iitkgp.ac.in/~rkumar/pds-vlab/" - } - ], - "integration_level": 0, - "assets": [], - "sections": [ - "Theory", - "Tutorial", - "Lab work", - "Assignment", - "Simulation", - "FAQ", - "Contents" - ] - } -} diff --git a/specifications/iit-kharagpur/programming-and-data-structures-lab/e98368.json b/specifications/iit-kharagpur/programming-and-data-structures-lab/e98368.json deleted file mode 100644 index 19d4d59..0000000 --- a/specifications/iit-kharagpur/programming-and-data-structures-lab/e98368.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "experiment": { - "id": "e98368", - "name": "Recursive fibonacci Series", - "overview": "This experiment deals with Recursive fibonacci Series", - "discipline_id": "cse", - "institute_id": "iitkgp", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://cse.iitkgp.ac.in/~rkumar/pds-vlab/" - } - ], - "integration_level": 0, - "assets": [], - "sections": [ - "Theory", - "Tutorial", - "Lab work", - "Assignment", - "Simulation", - "FAQ", - "Contents" - ] - } -} diff --git a/specifications/iit-kharagpur/programming-and-data-structures-lab/e98369.json b/specifications/iit-kharagpur/programming-and-data-structures-lab/e98369.json deleted file mode 100644 index cfa9eed..0000000 --- a/specifications/iit-kharagpur/programming-and-data-structures-lab/e98369.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "experiment": { - "id": "e98369", - "name": "Recursive fibonacci Series", - "overview": "This experiment deals with Recursive factorial", - "discipline_id": "cse", - "institute_id": "iitkgp", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://cse.iitkgp.ac.in/~rkumar/pds-vlab/" - } - ], - "integration_level": 0, - "assets": [], - "sections": [ - "Theory", - "Tutorial", - "Lab work", - "Assignment", - "Simulation", - "FAQ", - "Contents" - ] - } -} diff --git a/specifications/iit-kharagpur/programming-and-data-structures-lab/e98370.json b/specifications/iit-kharagpur/programming-and-data-structures-lab/e98370.json deleted file mode 100644 index 6d4a8c0..0000000 --- a/specifications/iit-kharagpur/programming-and-data-structures-lab/e98370.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "experiment": { - "id": "e98370", - "name": "More on Functions", - "overview": "This experiment deals with More on Functions", - "discipline_id": "cse", - "institute_id": "iitkgp", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://cse.iitkgp.ac.in/~rkumar/pds-vlab/" - } - ], - "integration_level": 0, - "assets": [], - "sections": [ - "Theory", - "Tutorial", - "Lab work", - "Assignment", - "Simulation", - "FAQ", - "Contents" - ] - } -} diff --git a/specifications/iit-kharagpur/programming-and-data-structures-lab/e98371.json b/specifications/iit-kharagpur/programming-and-data-structures-lab/e98371.json deleted file mode 100644 index d0f2519..0000000 --- a/specifications/iit-kharagpur/programming-and-data-structures-lab/e98371.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "experiment": { - "id": "e98371", - "name": "Function in C", - "overview": "This experiment deals with Function in C", - "discipline_id": "cse", - "institute_id": "iitkgp", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://cse.iitkgp.ac.in/~rkumar/pds-vlab/" - } - ], - "integration_level": 0, - "assets": [], - "sections": [ - "Theory", - "Tutorial", - "Lab work", - "Assignment", - "Simulation", - "FAQ", - "Contents" - ] - } -} diff --git a/specifications/iit-kharagpur/programming-and-data-structures-lab/e98372.json b/specifications/iit-kharagpur/programming-and-data-structures-lab/e98372.json deleted file mode 100644 index bc16739..0000000 --- a/specifications/iit-kharagpur/programming-and-data-structures-lab/e98372.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "experiment": { - "id": "e98372", - "name": "Iterative do-while loop", - "overview": "This experiment deals with Iterative do-while loop", - "discipline_id": "cse", - "institute_id": "iitkgp", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://cse.iitkgp.ac.in/~rkumar/pds-vlab/" - } - ], - "integration_level": 0, - "assets": [], - "sections": [ - "Theory", - "Tutorial", - "Lab work", - "Assignment", - "Simulation", - "FAQ", - "Contents" - ] - } -} diff --git a/specifications/iit-kharagpur/programming-and-data-structures-lab/e98373.json b/specifications/iit-kharagpur/programming-and-data-structures-lab/e98373.json deleted file mode 100644 index cdba567..0000000 --- a/specifications/iit-kharagpur/programming-and-data-structures-lab/e98373.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "experiment": { - "id": "e98373", - "name": "Iterative while loop", - "overview": "This experiment deals with Iterative while loop", - "discipline_id": "cse", - "institute_id": "iitkgp", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://cse.iitkgp.ac.in/~rkumar/pds-vlab/" - } - ], - "integration_level": 0, - "assets": [], - "sections": [ - "Theory", - "Tutorial", - "Lab work", - "Assignment", - "Simulation", - "FAQ", - "Contents" - ] - } -} diff --git a/specifications/iit-kharagpur/programming-and-data-structures-lab/e98374.json b/specifications/iit-kharagpur/programming-and-data-structures-lab/e98374.json deleted file mode 100644 index 3876bcc..0000000 --- a/specifications/iit-kharagpur/programming-and-data-structures-lab/e98374.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "experiment": { - "id": "e98374", - "name": "Iterative For loop", - "overview": "This experiment deals with Iterative For loop", - "discipline_id": "cse", - "institute_id": "iitkgp", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://cse.iitkgp.ac.in/~rkumar/pds-vlab/" - } - ], - "integration_level": 0, - "assets": [], - "sections": [ - "Theory", - "Tutorial", - "Lab work", - "Assignment", - "Simulation", - "FAQ", - "Contents" - ] - } -} diff --git a/specifications/iit-kharagpur/programming-and-data-structures-lab/e98375.json b/specifications/iit-kharagpur/programming-and-data-structures-lab/e98375.json deleted file mode 100644 index ebb0572..0000000 --- a/specifications/iit-kharagpur/programming-and-data-structures-lab/e98375.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "experiment": { - "id": "e98375", - "name": "Control:Switch case", - "overview": "This experiment deals with Control:Switch case", - "discipline_id": "cse", - "institute_id": "iitkgp", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://cse.iitkgp.ac.in/~rkumar/pds-vlab/" - } - ], - "integration_level": 0, - "assets": [], - "sections": [ - "Theory", - "Tutorial", - "Lab work", - "Assignment", - "Simulation", - "FAQ", - "Contents" - ] - } -} diff --git a/specifications/iit-kharagpur/programming-and-data-structures-lab/e98376.json b/specifications/iit-kharagpur/programming-and-data-structures-lab/e98376.json deleted file mode 100644 index 8d1ee7e..0000000 --- a/specifications/iit-kharagpur/programming-and-data-structures-lab/e98376.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "experiment": { - "id": "e98376", - "name": "Control:if-else loop", - "overview": "This experiment deals with Control:if-else loop", - "discipline_id": "cse", - "institute_id": "iitkgp", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://cse.iitkgp.ac.in/~rkumar/pds-vlab/" - } - ], - "integration_level": 0, - "assets": [], - "sections": [ - "Theory", - "Tutorial", - "Lab work", - "Assignment", - "Simulation", - "FAQ", - "Contents" - ] - } -} - diff --git a/specifications/iit-kharagpur/programming-and-data-structures-lab/e98377.json b/specifications/iit-kharagpur/programming-and-data-structures-lab/e98377.json deleted file mode 100644 index c45cf21..0000000 --- a/specifications/iit-kharagpur/programming-and-data-structures-lab/e98377.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "experiment": { - "id": "e98377", - "name": "Modular arithmetic", - "overview": "This experiment deals with Modular arithmetic", - "discipline_id": "cse", - "institute_id": "iitkgp", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://cse.iitkgp.ac.in/~rkumar/pds-vlab/" - } - ], - "integration_level": 0, - "assets": [], - "sections": [ - "Theory", - "Tutorial", - "Lab work", - "Assignment", - "Simulation", - "FAQ", - "Contents" - ] - } -} diff --git a/specifications/iit-kharagpur/programming-and-data-structures-lab/e98378.json b/specifications/iit-kharagpur/programming-and-data-structures-lab/e98378.json deleted file mode 100644 index e336dfd..0000000 --- a/specifications/iit-kharagpur/programming-and-data-structures-lab/e98378.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "experiment": { - "id": "e98378", - "name": "Simple Mathemetical problem solving", - "overview": "This experiment deals with Simple Mathemetical problem solving", - "discipline_id": "cse", - "institute_id": "iitkgp", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://cse.iitkgp.ac.in/~rkumar/pds-vlab/" - } - ], - "integration_level": 0, - "assets": [], - "sections": [ - "Theory", - "Tutorial", - "Lab work", - "Assignment", - "Simulation", - "FAQ", - "Contents" - ] - } -} diff --git a/specifications/iit-kharagpur/programming-and-data-structures-lab/e98379.json b/specifications/iit-kharagpur/programming-and-data-structures-lab/e98379.json deleted file mode 100644 index c314656..0000000 --- a/specifications/iit-kharagpur/programming-and-data-structures-lab/e98379.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "experiment": { - "id": "e98379", - "name": "Type casting & data conversion", - "overview": "This experiment deals with Type casting & data conversion", - "discipline_id": "cse", - "institute_id": "iitkgp", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://cse.iitkgp.ac.in/~rkumar/pds-vlab/" - } - ], - "integration_level": 0, - "assets": [], - "sections": [ - "Theory", - "Tutorial", - "Lab work", - "Assignment", - "Simulation", - "FAQ", - "Contents" - ] - } -} diff --git a/specifications/iit-kharagpur/programming-and-data-structures-lab/e98380.json b/specifications/iit-kharagpur/programming-and-data-structures-lab/e98380.json deleted file mode 100644 index a3efe36..0000000 --- a/specifications/iit-kharagpur/programming-and-data-structures-lab/e98380.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "experiment": { - "id": "e98380", - "name": "Expression evaluation", - "overview": "This experiment deals with expression evaluation", - "discipline_id": "cse", - "institute_id": "iitkgp", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://cse.iitkgp.ac.in/~rkumar/pds-vlab/" - } - ], - "integration_level": 0, - "assets": [], - "sections": [ - "Theory", - "Tutorial", - "Lab work", - "Assignment", - "Simulation", - "FAQ", - "Contents" - ] - } -} diff --git a/specifications/iit-kharagpur/programming-and-data-structures-lab/e98381.json b/specifications/iit-kharagpur/programming-and-data-structures-lab/e98381.json deleted file mode 100644 index 6e41205..0000000 --- a/specifications/iit-kharagpur/programming-and-data-structures-lab/e98381.json +++ /dev/null @@ -1,29 +0,0 @@ - -{ - "experiment": { - "id": "e98381", - "name": "Different data types", - "overview": "This experiment deals with different datatypes", - "discipline_id": "cse", - "institute_id": "iitkgp", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://cse.iitkgp.ac.in/~rkumar/pds-vlab/" - } - ], - "integration_level": 0, - "assets": [], - "sections": [ - "Theory", - "Tutorial", - "Lab work", - "Assignment", - "Simulation", - "FAQ", - "Contents" - ] - } -} diff --git a/specifications/iit-kharagpur/programming-and-data-structures-lab/e98382.json b/specifications/iit-kharagpur/programming-and-data-structures-lab/e98382.json deleted file mode 100644 index 1aa1a17..0000000 --- a/specifications/iit-kharagpur/programming-and-data-structures-lab/e98382.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "experiment": { - "id": "e98382", - "name": "Get string from user", - "overview": "This experiment deals with Get string from user", - "discipline_id": "cse", - "institute_id": "iitkgp", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://cse.iitkgp.ac.in/~rkumar/pds-vlab/" - } - ], - "integration_level": 0, - "assets": [], - "sections": [ - "Theory", - "Tutorial", - "Lab work", - "Assignment", - "Simulation", - "FAQ", - "Contents" - ] - } -} diff --git a/specifications/iit-kharagpur/programming-and-data-structures-lab/e98383.json b/specifications/iit-kharagpur/programming-and-data-structures-lab/e98383.json deleted file mode 100644 index 9f924f6..0000000 --- a/specifications/iit-kharagpur/programming-and-data-structures-lab/e98383.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "experiment": { - "id": "e98383", - "name": "Get number from user", - "overview": "This experiment deals with Get number from user", - "discipline_id": "cse", - "institute_id": "iitkgp", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://cse.iitkgp.ac.in/~rkumar/pds-vlab/" - } - ], - "integration_level": 0, - "assets": [], - "sections": [ - "Theory", - "Tutorial", - "Lab work", - "Assignment", - "Simulation", - "FAQ", - "Contents" - ] - } -} diff --git a/specifications/iit-kharagpur/programming-and-data-structures-lab/e98384.json b/specifications/iit-kharagpur/programming-and-data-structures-lab/e98384.json deleted file mode 100644 index 803d012..0000000 --- a/specifications/iit-kharagpur/programming-and-data-structures-lab/e98384.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "experiment": { - "id": "e98384", - "name": "Printing Numbers", - "overview": "This experiment deals with Printing Numbers", - "discipline_id": "cse", - "institute_id": "iitkgp", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://cse.iitkgp.ac.in/~rkumar/pds-vlab/" - } - ], - "integration_level": 0, - "assets": [], - "sections": [ - "Theory", - "Tutorial", - "Lab work", - "Assignment", - "Simulation", - "FAQ", - "Contents" - ] - } -} diff --git a/specifications/iit-kharagpur/programming-and-data-structures-lab/e98385.json b/specifications/iit-kharagpur/programming-and-data-structures-lab/e98385.json deleted file mode 100644 index 6bbde7e..0000000 --- a/specifications/iit-kharagpur/programming-and-data-structures-lab/e98385.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "experiment": { - "id": "e98385", - "name": "Printing Hello World", - "overview": "This experiment deals with Printing Hello World", - "discipline_id": "cse", - "institute_id": "iitkgp", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://cse.iitkgp.ac.in/~rkumar/pds-vlab/" - } - ], - "integration_level": 0, - "assets": [], - "sections": [ - "Theory", - "Tutorial", - "Lab work", - "Assignment", - "Simulation", - "FAQ", - "Contents" - ] - } -} diff --git a/specifications/iit-kharagpur/programming-and-data-structures-lab/programming-data-structures-lab.json b/specifications/iit-kharagpur/programming-and-data-structures-lab/programming-data-structures-lab.json deleted file mode 100644 index f068427..0000000 --- a/specifications/iit-kharagpur/programming-and-data-structures-lab/programming-data-structures-lab.json +++ /dev/null @@ -1,57 +0,0 @@ -{ - "lab": { - "id": "cse03", - "name": "Programming and Data Structure", - "overview": "This lab deals with Programming and Data Structure", - "discipline_id": "cse", - "institute_id": "iitkgp", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://cse.iitkgp.ac.in/~rkumar/pds-vlab/" - } - ], - "integration_level": 0, - "assets": [], - "sections": [ - { - "name": "Introduction" - }, - { - "experiments": [ - "e98385", - "e98384", - "e98383", - "e98382", - "e98381", - "e98380", - "e98379", - "e98378", - "e98377", - "e98376", - "e98375", - "e98374", - "e98373", - "e98372", - "e98371", - "e98370", - "e98369", - "e98368", - "e98367", - "e98366", - "e98365", - "e98364", - "e98363", - "e98362", - "e98361", - "e98360", - "e98359", - "e98358", - "e98357" - ] - } - ] - } -} \ No newline at end of file diff --git a/specifications/iit-kharagpur/real-time-embedded-systems-laboratory/dump_json_to_lds.py b/specifications/iit-kharagpur/real-time-embedded-systems-laboratory/dump_json_to_lds.py deleted file mode 100644 index 78c74fa..0000000 --- a/specifications/iit-kharagpur/real-time-embedded-systems-laboratory/dump_json_to_lds.py +++ /dev/null @@ -1,44 +0,0 @@ - -import os -import os.path -import json -import requests -import glob - -URL= 'http://localhost:5000' -json_path_list = [] - -def post_lab_spec(file_path): - - with open(file_path) as json_file: - print file_path - data = json.load(json_file) - if 'lab' in data.keys(): - end_point = "/labs" - if 'experiment' in data.keys(): - end_point = "/experiments" - - data['key'] = 'defaultkey' - APP_URL = URL + end_point - headers = {'Content-Type': 'application/json'} - try: - response = requests.post(APP_URL, data = json.dumps(data), - headers=headers) - if response.status_code == 200: - print "Added json data : " + file_path - else: - print "Errore in adding json file " + file_path + " due to " + response.text - except Exception as e: - print str(e) -try: - exp_file_list = glob.glob(os.getcwd() + "/e9*.json") - lab_file_list = glob.glob(os.getcwd() + "/[!e9]*.json") - - for filename in exp_file_list: - json_path_list.append(filename) -except Exception as e: - print str(e) - -for file_path in json_path_list: - post_lab_spec(file_path) -post_lab_spec(lab_file_list[0]) diff --git a/specifications/iit-kharagpur/real-time-embedded-systems-laboratory/e98974.json b/specifications/iit-kharagpur/real-time-embedded-systems-laboratory/e98974.json deleted file mode 100644 index f1108f6..0000000 --- a/specifications/iit-kharagpur/real-time-embedded-systems-laboratory/e98974.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "experiment": { - "id": "e98974", - "name": "SC: Serial Communication between micro controller and PC", - "discipline_id": "ece", - "institute_id": "iitkgp", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlabs.iitkgp.ernet.in/rtes/exp15/index.html" - } - ], - "integration_level": 4, - "overview": "This experiments deals with SC: Serial Communication between micro controller and PC", - "assets": [], - "sections" : [ - "Introduction", - "Prerequisite", - "Theory", - "Procedure", - "Simulator", - "Assignment", - "References" - ] - } -} diff --git a/specifications/iit-kharagpur/real-time-embedded-systems-laboratory/e98975.json b/specifications/iit-kharagpur/real-time-embedded-systems-laboratory/e98975.json deleted file mode 100644 index 99bd941..0000000 --- a/specifications/iit-kharagpur/real-time-embedded-systems-laboratory/e98975.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "experiment": { - "id": "e98975", - "name": "TC: Temperature control using ATmega16", - "discipline_id": "ece", - "institute_id": "iitkgp", - "developers": [ - { - "name": "Prof. Aurobinda Routray", - "email": "aroutray@ee.iitkgp.ernet.in" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlabs.iitkgp.ernet.in/rtes/exp16/index.html" - } - ], - "integration_level": 4, - "overview": "This experiments deals with TC: Temperature control using ATmega16", - "assets": [], - "sections" : [ - "Introduction", - "Prerequisite", - "Theory", - "Procedure", - "Simulator", - "Assignment", - "References" - ] - } -} diff --git a/specifications/iit-kharagpur/real-time-embedded-systems-laboratory/e98976.json b/specifications/iit-kharagpur/real-time-embedded-systems-laboratory/e98976.json deleted file mode 100644 index 6e19505..0000000 --- a/specifications/iit-kharagpur/real-time-embedded-systems-laboratory/e98976.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "experiment": { - "id": "e98976", - "name": "HN-Part3: Implementation of Hopfield network in C to recognize a simple ASCII character.", - "discipline_id": "ece", - "institute_id": "iitkgp", - "developers": [ - { - "name": "Prof. Aurobinda Routray", - "email": "aroutray@ee.iitkgp.ernet.in" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlabs.iitkgp.ernet.in/rtes/exp13/index.html" - } - ], - "integration_level": 4, - "overview": "This experiments deals with HN-Part3: Implementation of Hopfield network in C to recognize a simple ASCII character.", - "assets": [], - "sections" : [ - "Introduction", - "Prerequisite", - "Theory", - "Procedure", - "Simulator", - "Assignment", - "References" - ] - } -} diff --git a/specifications/iit-kharagpur/real-time-embedded-systems-laboratory/e98977.json b/specifications/iit-kharagpur/real-time-embedded-systems-laboratory/e98977.json deleted file mode 100644 index 4322dc5..0000000 --- a/specifications/iit-kharagpur/real-time-embedded-systems-laboratory/e98977.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "experiment": { - "id": "e98977", - "name": "HN-Part2: Interfacing 4x4 switch matrix with the microcontroller", - "discipline_id": "ece", - "institute_id": "iitkgp", - "developers": [ - { - "name": "Prof. Aurobinda Routray", - "email": "aroutray@ee.iitkgp.ernet.in" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlabs.iitkgp.ernet.in/rtes/exp12/index.html" - } - ], - "integration_level": 4, - "overview": "This experiments deals with HN-Part2: Interfacing 4x4 switch matrix with the microcontroller", - "assets": [], - "sections" : [ - "Introduction", - "Prerequisite", - "Theory", - "Procedure", - "Simulator", - "Assignment", - "References" - ] - } -} diff --git a/specifications/iit-kharagpur/real-time-embedded-systems-laboratory/e98978.json b/specifications/iit-kharagpur/real-time-embedded-systems-laboratory/e98978.json deleted file mode 100644 index a415afa..0000000 --- a/specifications/iit-kharagpur/real-time-embedded-systems-laboratory/e98978.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "experiment": { - "id": "e98978", - "name": "HN-Part1: Interface a LED matrix and display a number on the matrix.", - "discipline_id": "ece", - "institute_id": "iitkgp", - "developers": [ - { - "name": "Prof. Aurobinda Routray", - "email": "aroutray@ee.iitkgp.ernet.in" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlabs.iitkgp.ernet.in/rtes/exp11/index.html" - } - ], - "integration_level": 4, - "overview": "This experiments deals with HN-Part1: Interface a LED matrix and display a number on the matrix.", - "assets": [], - "sections" : [ - "Introduction", - "Prerequisite", - "Theory", - "Procedure", - "Simulator", - "Assignment", - "References" - ] - } -} diff --git a/specifications/iit-kharagpur/real-time-embedded-systems-laboratory/e98979.json b/specifications/iit-kharagpur/real-time-embedded-systems-laboratory/e98979.json deleted file mode 100644 index eaeb06a..0000000 --- a/specifications/iit-kharagpur/real-time-embedded-systems-laboratory/e98979.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "experiment": { - "id": "e98979", - "name": "SM-Part3: Stepper Motor Control Using ATMEGA-16 Microcontroller", - "discipline_id": "ece", - "institute_id": "iitkgp", - "developers": [ - { - "name": "Prof. Aurobinda Routray", - "email": "aroutray@ee.iitkgp.ernet.in" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlabs.iitkgp.ernet.in/rtes/exp10/index.html" - } - ], - "integration_level": 4, - "overview": "This experiments deals with SM-Part3: Stepper Motor Control Using ATMEGA-16 Microcontroller", - "assets": [], - "sections" : [ - "Introduction", - "Prerequisite", - "Theory", - "Procedure", - "Simulator", - "Assignment", - "References" - ] - } -} diff --git a/specifications/iit-kharagpur/real-time-embedded-systems-laboratory/e98980.json b/specifications/iit-kharagpur/real-time-embedded-systems-laboratory/e98980.json deleted file mode 100644 index 5e47573..0000000 --- a/specifications/iit-kharagpur/real-time-embedded-systems-laboratory/e98980.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "experiment": { - "id": "e98980", - "name": "SM-Part2 Keyboard-MCU interfacing take a input from keypad and display on LCD", - "discipline_id": "ece", - "institute_id": "iitkgp", - "developers": [ - { - "name": "Prof. Aurobinda Routray", - "email": "aroutray@ee.iitkgp.ernet.in" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlabs.iitkgp.ernet.in/rtes/exp9/index.html" - } - ], - "integration_level": 4, - "overview": "This experiments deals with SM-Part2 Keyboard-MCU interfacing take a input from keypad and display on LCD", - "assets": [], - "sections" : [ - "Introduction", - "Prerequisite", - "Theory", - "Procedure", - "Simulator", - "Assignment", - "References" - ] - } -} diff --git a/specifications/iit-kharagpur/real-time-embedded-systems-laboratory/e98981.json b/specifications/iit-kharagpur/real-time-embedded-systems-laboratory/e98981.json deleted file mode 100644 index c880bc5..0000000 --- a/specifications/iit-kharagpur/real-time-embedded-systems-laboratory/e98981.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "experiment": { - "id": "e98981", - "name": "SM-Part1: LCD - MCU interfacing and displaying a string", - "discipline_id": "ece", - "institute_id": "iitkgp", - "developers": [ - { - "name": "Prof. Aurobinda Routray", - "email": "aroutray@ee.iitkgp.ernet.in" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlabs.iitkgp.ernet.in/rtes/exp8/index.html" - } - ], - "integration_level": 4, - "overview": "This experiments deals with SM-Part1: LCD - MCU interfacing and displaying a string", - "assets": [], - "sections" : [ - "Introduction", - "Prerequisite", - "Theory", - "Procedure", - "Simulator", - "Assignment", - "References" - ] - } -} diff --git a/specifications/iit-kharagpur/real-time-embedded-systems-laboratory/e98982.json b/specifications/iit-kharagpur/real-time-embedded-systems-laboratory/e98982.json deleted file mode 100644 index acf035c..0000000 --- a/specifications/iit-kharagpur/real-time-embedded-systems-laboratory/e98982.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "experiment": { - "id": "e98982", - "name": "DF-Part6: Interrupt driven data transfer from ADC", - "discipline_id": "ece", - "institute_id": "iitkgp", - "developers": [ - { - "name": "Prof. Aurobinda Routray", - "email": "aroutray@ee.iitkgp.ernet.in" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlabs.iitkgp.ernet.in/rtes/exp6/index.html" - } - ], - "integration_level": 4, - "overview": "This experiments deals with DF-Part6: Interrupt driven data transfer from ADC", - "assets": [], - "sections" : [ - "Introduction", - "Prerequisite", - "Theory", - "Procedure", - "Simulator", - "Assignment", - "References" - ] - } -} diff --git a/specifications/iit-kharagpur/real-time-embedded-systems-laboratory/e98983.json b/specifications/iit-kharagpur/real-time-embedded-systems-laboratory/e98983.json deleted file mode 100644 index f98a1b4..0000000 --- a/specifications/iit-kharagpur/real-time-embedded-systems-laboratory/e98983.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "experiment": { - "id": "e98983", - "name": "DF-Part5: ADC triggering through timer(On Chip Timer)", - "discipline_id": "ece", - "institute_id": "iitkgp", - "developers": [ - { - "name": "Prof. Aurobinda Routray", - "email": "aroutray@ee.iitkgp.ernet.in" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlabs.iitkgp.ernet.in/rtes/exp5/index.html" - } - ], - "integration_level": 4, - "overview": "This experiments deals with DF-Part5: ADC triggering through timer(On Chip Timer)", - "assets": [], - "sections" : [ - "Introduction", - "Prerequisite", - "Theory", - "Procedure", - "Simulator", - "Assignment", - "References" - ] - } -} diff --git a/specifications/iit-kharagpur/real-time-embedded-systems-laboratory/e98984.json b/specifications/iit-kharagpur/real-time-embedded-systems-laboratory/e98984.json deleted file mode 100644 index c320c99..0000000 --- a/specifications/iit-kharagpur/real-time-embedded-systems-laboratory/e98984.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "experiment": { - "id": "e98984", - "name": "DF-Part4: Interfacing of ADC and data trasnfer by software polling, study of aliasing", - "discipline_id": "ece", - "institute_id": "iitkgp", - "developers": [ - { - "name": "Prof. Aurobinda Routray", - "email": "aroutray@ee.iitkgp.ernet.in" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlabs.iitkgp.ernet.in/rtes/exp4/index.html" - } - ], - "integration_level": 4, - "overview": "This experiments deals with DF-Part4: Interfacing of ADC and data trasnfer by software polling, study of aliasing", - "assets": [], - "sections" : [ - "Introduction", - "Objective", - "Theory", - "Procedure", - "Simulator", - "Assignment", - "References" - ] - } -} diff --git a/specifications/iit-kharagpur/real-time-embedded-systems-laboratory/e98985.json b/specifications/iit-kharagpur/real-time-embedded-systems-laboratory/e98985.json deleted file mode 100644 index 9d0eafa..0000000 --- a/specifications/iit-kharagpur/real-time-embedded-systems-laboratory/e98985.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "experiment": { - "id": "e98985", - "name": "DF-Part3: MCU-DAC interfacing and generation of ramp wave", - "discipline_id": "ece", - "institute_id": "iitkgp", - "developers": [ - { - "name": "Prof. Aurobinda Routray", - "email": "aroutray@ee.iitkgp.ernet.in" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlabs.iitkgp.ernet.in/rtes/exp3/index.html" - } - ], - "integration_level": 4, - "overview": "This experiments deals with DF-Part3: MCU-DAC interfacing and generation of ramp wave", - "assets": [], - "sections" : [ - "Introduction", - "Objective", - "Theory", - "Procedure", - "Simulator", - "Assignment", - "References" - ] - } -} diff --git a/specifications/iit-kharagpur/real-time-embedded-systems-laboratory/e98986.json b/specifications/iit-kharagpur/real-time-embedded-systems-laboratory/e98986.json deleted file mode 100644 index 9cb2647..0000000 --- a/specifications/iit-kharagpur/real-time-embedded-systems-laboratory/e98986.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "experiment": { - "id": "e98986", - "name": "DF-Part2: Fixed point Implementation of Digital FIR Filter", - "discipline_id": "ece", - "institute_id": "iitkgp", - "developers": [ - { - "name": "Prof. Aurobinda Routray", - "email": "aroutray@ee.iitkgp.ernet.in" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlabs.iitkgp.ernet.in/rtes/exp2/index.html" - } - ], - "integration_level": 4, - "overview": "This experiments deals with DF-Part2: Fixed point Implementation of Digital FIR Filter", - "assets": [], - "sections" : [ - "Introduction", - "Objective", - "Theory", - "Procedure", - "Simulator", - "Assignment", - "References" - ] - } -} diff --git a/specifications/iit-kharagpur/real-time-embedded-systems-laboratory/e98987.json b/specifications/iit-kharagpur/real-time-embedded-systems-laboratory/e98987.json deleted file mode 100644 index 92e3810..0000000 --- a/specifications/iit-kharagpur/real-time-embedded-systems-laboratory/e98987.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "experiment": { - "id": "e98987", - "name": "HN-Part4: Implementation of Hopfield Network on ATMEGA-16 microcontroller", - "discipline_id": "ece", - "institute_id": "iitkgp", - "developers": [ - { - "name": "Prof. Aurobinda Routray", - "email": "aroutray@ee.iitkgp.ernet.in" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlabs.iitkgp.ernet.in/rtes/exp14/index.html" - } - ], - "integration_level": 4, - "overview": "This experiments deals with HN-Part4: Implementation of Hopfield Network on ATMEGA-16 microcontroller", - "assets": [], - "sections" : [ - "Introduction", - "Prerequisite", - "Theory", - "Procedure", - "Simulator", - "Assignment", - "References" - ] - } -} diff --git a/specifications/iit-kharagpur/real-time-embedded-systems-laboratory/e98988.json b/specifications/iit-kharagpur/real-time-embedded-systems-laboratory/e98988.json deleted file mode 100644 index fe99e2d..0000000 --- a/specifications/iit-kharagpur/real-time-embedded-systems-laboratory/e98988.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "experiment": { - "id": "e98988", - "name": "DF-Part7 Implementation of Digital FIR Filter on 8051 Microcontroller", - "discipline_id": "ece", - "institute_id": "iitkgp", - "developers": [ - { - "name": "Prof. Aurobinda Routray", - "email": "aroutray@ee.iitkgp.ernet.in" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlabs.iitkgp.ernet.in/rtes/exp7/index.html" - } - ], - "integration_level": 4, - "overview": "This experiments deals with DF-Part7 Implementation of Digital FIR Filter on 8051 Microcontroller", - "assets": [], - "sections" : [ - "Introduction", - "Prerequisite", - "Theory", - "Procedure", - "Simulator", - "Assignment", - "References" - ] - } -} diff --git a/specifications/iit-kharagpur/real-time-embedded-systems-laboratory/e98989.json b/specifications/iit-kharagpur/real-time-embedded-systems-laboratory/e98989.json deleted file mode 100644 index b2e34ba..0000000 --- a/specifications/iit-kharagpur/real-time-embedded-systems-laboratory/e98989.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "experiment": { - "id": "e98989", - "name": "DF-Part1: Digital FIR filter design and simulation", - "discipline_id": "ece", - "institute_id": "iitkgp", - "developers": [ - { - "name": "Prof. Aurobinda Routray", - "email": "aroutray@ee.iitkgp.ernet.in" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlabs.iitkgp.ernet.in/rtes/exp1/index.html" - } - ], - "integration_level": 4, - "overview": "This experiments deals with DF-Part1: Digital FIR filter design and simulation", - "assets": [], - "sections" : [ - "Introduction", - "Theory", - "FDA Tool", - "Simulation", - "Quizzes", - "Reference" - ] - } -} diff --git a/specifications/iit-kharagpur/real-time-embedded-systems-laboratory/real-time-embedded-systems-laboratory.json b/specifications/iit-kharagpur/real-time-embedded-systems-laboratory/real-time-embedded-systems-laboratory.json deleted file mode 100644 index 8a92e69..0000000 --- a/specifications/iit-kharagpur/real-time-embedded-systems-laboratory/real-time-embedded-systems-laboratory.json +++ /dev/null @@ -1,49 +0,0 @@ -{ - "lab": { - "id": "VLS13", - "name": "real time embedded systems laboratory", - "discipline_id": "ece", - "institute_id": "iitkgp", - "developers": [ - { - "name": "Prof. Aurobinda Routray", - "email": "aroutray@ee.iitkgp.ernet.in" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlabs.iitkgp.ernet.in/rtes/" - } - ], - "integration_level": 4, - "overview": "This lab deals with real time embedded systems laboratory", - "assets": [], - "sections": [ - { - "name": "Introduction" - }, - { - "experiments" : [ - "e98989", - "e98988", - "e98987", - "e98986", - "e98985", - "e98984", - "e98983", - "e98982", - "e98981", - "e98980", - "e98979", - "e98978", - "e98977", - "e98976", - "e98975", - "e98974" - ] - } - ] - } -} diff --git a/specifications/iit-kharagpur/robotics-and-control-systems-simulation-laboratory/dump_json_to_lds.py b/specifications/iit-kharagpur/robotics-and-control-systems-simulation-laboratory/dump_json_to_lds.py deleted file mode 100644 index 78c74fa..0000000 --- a/specifications/iit-kharagpur/robotics-and-control-systems-simulation-laboratory/dump_json_to_lds.py +++ /dev/null @@ -1,44 +0,0 @@ - -import os -import os.path -import json -import requests -import glob - -URL= 'http://localhost:5000' -json_path_list = [] - -def post_lab_spec(file_path): - - with open(file_path) as json_file: - print file_path - data = json.load(json_file) - if 'lab' in data.keys(): - end_point = "/labs" - if 'experiment' in data.keys(): - end_point = "/experiments" - - data['key'] = 'defaultkey' - APP_URL = URL + end_point - headers = {'Content-Type': 'application/json'} - try: - response = requests.post(APP_URL, data = json.dumps(data), - headers=headers) - if response.status_code == 200: - print "Added json data : " + file_path - else: - print "Errore in adding json file " + file_path + " due to " + response.text - except Exception as e: - print str(e) -try: - exp_file_list = glob.glob(os.getcwd() + "/e9*.json") - lab_file_list = glob.glob(os.getcwd() + "/[!e9]*.json") - - for filename in exp_file_list: - json_path_list.append(filename) -except Exception as e: - print str(e) - -for file_path in json_path_list: - post_lab_spec(file_path) -post_lab_spec(lab_file_list[0]) diff --git a/specifications/iit-kharagpur/robotics-and-control-systems-simulation-laboratory/e99061.json b/specifications/iit-kharagpur/robotics-and-control-systems-simulation-laboratory/e99061.json deleted file mode 100644 index 8178829..0000000 --- a/specifications/iit-kharagpur/robotics-and-control-systems-simulation-laboratory/e99061.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "experiment": { - "id": "e99061", - "name": "Closed loop characteristics of DC motor with Proportional Integral and Derivative Control(Discrete)", - "discipline_id": "mech", - "institute_id": "iitkgp", - "developers": [ - { - "name": "Prof. C S Kumar", - "email": "kumar@mech.iitkgp.ernet.in" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlabs.iitkgp.ernet.in/mvl1/control/motorcontrol/closedloop/piddiscrete/clpidd_aim.html" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Closed loop characteristics of DC motor with Proportional Integral and Derivative Control(Discrete)", - "assets": [], - "sections" : [ - "Aim", - "Theory", - "Tutorial", - "Simulation" - ] - } -} diff --git a/specifications/iit-kharagpur/robotics-and-control-systems-simulation-laboratory/e99062.json b/specifications/iit-kharagpur/robotics-and-control-systems-simulation-laboratory/e99062.json deleted file mode 100644 index 1b1cd21..0000000 --- a/specifications/iit-kharagpur/robotics-and-control-systems-simulation-laboratory/e99062.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "experiment": { - "id": "e99062", - "name": "Closed loop characteristics of DC motor with Proportional and Derivative Control", - "discipline_id": "mech", - "institute_id": "iitkgp", - "developers": [ - { - "name": "Prof. C S Kumar", - "email": "kumar@mech.iitkgp.ernet.in" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlabs.iitkgp.ernet.in/mvl1/control/motorcontrol/closedloop/pd/clpd_aim.html" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Closed loop characteristics of DC motor with Proportional and Derivative Control", - "assets": [], - "sections" : [ - "AIM", - "Theory", - "Tutorial", - "Simulation" - ] - } -} diff --git a/specifications/iit-kharagpur/robotics-and-control-systems-simulation-laboratory/e99063.json b/specifications/iit-kharagpur/robotics-and-control-systems-simulation-laboratory/e99063.json deleted file mode 100644 index 2e84022..0000000 --- a/specifications/iit-kharagpur/robotics-and-control-systems-simulation-laboratory/e99063.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "experiment": { - "id": "e99063", - "name": "Closed loop characteristics of DC motor with Proportional and Integral Control", - "discipline_id": "mech", - "institute_id": "iitkgp", - "developers": [ - { - "name": "Prof. C S Kumar", - "email": "kumar@mech.iitkgp.ernet.in" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlabs.iitkgp.ernet.in/mvl1/control/motorcontrol/closedloop/pi/clpi_aim.html" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Closed loop characteristics of DC motor with Proportional and Integral Control", - "assets": [], - "sections" : [ - "AIM", - "Theory", - "Tutorial", - "Simulation" - ] - } -} diff --git a/specifications/iit-kharagpur/robotics-and-control-systems-simulation-laboratory/e99064.json b/specifications/iit-kharagpur/robotics-and-control-systems-simulation-laboratory/e99064.json deleted file mode 100644 index 596469b..0000000 --- a/specifications/iit-kharagpur/robotics-and-control-systems-simulation-laboratory/e99064.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "experiment": { - "id": "e99064", - "name": "Control of Underwater robot", - "discipline_id": "mech", - "institute_id": "iitkgp", - "developers": [ - { - "name": "Prof. C S Kumar", - "email": "kumar@mech.iitkgp.ernet.in" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlabs.iitkgp.ernet.in/mvl1/control/robotcontrol/auv/auv_aim.html" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Control of Underwater robot", - "assets": [], - "sections" : [ - "Aim", - "Theory", - "Tutorial", - "Simulation" - ] - } -} diff --git a/specifications/iit-kharagpur/robotics-and-control-systems-simulation-laboratory/e99065.json b/specifications/iit-kharagpur/robotics-and-control-systems-simulation-laboratory/e99065.json deleted file mode 100644 index 0642f0a..0000000 --- a/specifications/iit-kharagpur/robotics-and-control-systems-simulation-laboratory/e99065.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "experiment": { - "id": "e99065", - "name": "Control of one degree of freedom revolute type robot arm", - "discipline_id": "mech", - "institute_id": "iitkgp", - "developers": [ - { - "name": "Prof. C S Kumar", - "email": "kumar@mech.iitkgp.ernet.in" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlabs.iitkgp.ernet.in/mvl1/control/robotcontrol/onedofrobot/onedof_aim.html" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Control of one degree of freedom revolute type robot arm", - "assets": [], - "sections" : [ - "Aim", - "Theory", - "Tutorial", - "Simulation" - ] - } -} diff --git a/specifications/iit-kharagpur/robotics-and-control-systems-simulation-laboratory/e99066.json b/specifications/iit-kharagpur/robotics-and-control-systems-simulation-laboratory/e99066.json deleted file mode 100644 index f0d6a99..0000000 --- a/specifications/iit-kharagpur/robotics-and-control-systems-simulation-laboratory/e99066.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "experiment": { - "id": "e99066", - "name": "Closed loop characteristics of DC motor with Proportional Integral and Derivative Control(Continuous)", - "discipline_id": "mech", - "institute_id": "iitkgp", - "developers": [ - { - "name": "Prof. C S Kumar", - "email": "kumar@mech.iitkgp.ernet.in" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlabs.iitkgp.ernet.in/mvl1/control/motorcontrol/closedloop/pidcontinuous/clpidc_aim.html" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Closed loop characteristics of DC motor with Proportional Integral and Derivative Control(Continuous)", - "assets": [], - "sections" : [ - "Aim", - "Theory", - "Tutorial", - "Simulation" - ] - } -} diff --git a/specifications/iit-kharagpur/robotics-and-control-systems-simulation-laboratory/e99067.json b/specifications/iit-kharagpur/robotics-and-control-systems-simulation-laboratory/e99067.json deleted file mode 100644 index 7e86225..0000000 --- a/specifications/iit-kharagpur/robotics-and-control-systems-simulation-laboratory/e99067.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "experiment": { - "id": "e99067", - "name": "Closed loop characteristics of DC motor with Proportional Control", - "discipline_id": "mech", - "institute_id": "iitkgp", - "developers": [ - { - "name": "Prof. C S Kumar", - "email": "kumar@mech.iitkgp.ernet.in" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlabs.iitkgp.ernet.in/mvl1/control/motorcontrol/closedloop/p/clp_aim.html" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Closed loop characteristics of DC motor with Proportional Control", - "assets": [], - "sections" : [ - "AIM", - "Theory", - "Tutorial", - "Simulation" - ] - } -} diff --git a/specifications/iit-kharagpur/robotics-and-control-systems-simulation-laboratory/e99068.json b/specifications/iit-kharagpur/robotics-and-control-systems-simulation-laboratory/e99068.json deleted file mode 100644 index 18e7070..0000000 --- a/specifications/iit-kharagpur/robotics-and-control-systems-simulation-laboratory/e99068.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "experiment": { - "id": "e99068", - "name": "Open loop characteristics of DC motor", - "discipline_id": "mech", - "institute_id": "iitkgp", - "developers": [ - { - "name": "Prof. C S Kumar", - "email": "kumar@mech.iitkgp.ernet.in" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlabs.iitkgp.ernet.in/mvl1/control/motorcontrol/openloop/ol_aim.html" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Open loop characteristics of DC motor", - "assets": [], - "sections" : [ - "Aim", - "Theory", - "Tutorial", - "Simulation" - ] - } -} diff --git a/specifications/iit-kharagpur/robotics-and-control-systems-simulation-laboratory/e99069.json b/specifications/iit-kharagpur/robotics-and-control-systems-simulation-laboratory/e99069.json deleted file mode 100644 index f47285d..0000000 --- a/specifications/iit-kharagpur/robotics-and-control-systems-simulation-laboratory/e99069.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "experiment": { - "id": "e99069", - "name": "KGP 50", - "discipline_id": "mech", - "institute_id": "iitkgp", - "developers": [ - { - "name": "Prof. C S Kumar", - "email": "kumar@mech.iitkgp.ernet.in" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlabs.iitkgp.ernet.in/mvl1/iitkgp50/kgp50.html" - } - ], - "integration_level": 4, - "overview": "This experiments deals with KGP 50", - "assets": [], - "sections" : [ - "Introduction", - "Specification", - "Tutorial", - "Animation", - "Simulation" - ] - } -} diff --git a/specifications/iit-kharagpur/robotics-and-control-systems-simulation-laboratory/e99070.json b/specifications/iit-kharagpur/robotics-and-control-systems-simulation-laboratory/e99070.json deleted file mode 100644 index 821cd56..0000000 --- a/specifications/iit-kharagpur/robotics-and-control-systems-simulation-laboratory/e99070.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "experiment": { - "id": "e99070", - "name": "Multi-link", - "discipline_id": "mech", - "institute_id": "iitkgp", - "developers": [ - { - "name": "Prof. C S Kumar", - "email": "kumar@mech.iitkgp.ernet.in" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlabs.iitkgp.ernet.in/mvl1/multi_link/ml_aim.html" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Multi-link", - "assets": [], - "sections" : [ - "AIM", - "Theory", - "Simulation" - ] - } -} diff --git a/specifications/iit-kharagpur/robotics-and-control-systems-simulation-laboratory/e99071.json b/specifications/iit-kharagpur/robotics-and-control-systems-simulation-laboratory/e99071.json deleted file mode 100644 index 6d0748d..0000000 --- a/specifications/iit-kharagpur/robotics-and-control-systems-simulation-laboratory/e99071.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "experiment": { - "id": "e99071", - "name": "Inverse Kinematics of a 6R robot", - "discipline_id": "mech", - "institute_id": "iitkgp", - "developers": [ - { - "name": "Prof. C S Kumar", - "email": "kumar@mech.iitkgp.ernet.in" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlabs.iitkgp.ernet.in/mvl1/pumaIK/pumaIK_aim.html" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Inverse Kinematics of a 6R robot", - "assets": [], - "sections" : [ - "AIM", - "THEORY", - "SIMULATION", - "Reference" - ] - } -} diff --git a/specifications/iit-kharagpur/robotics-and-control-systems-simulation-laboratory/e99072.json b/specifications/iit-kharagpur/robotics-and-control-systems-simulation-laboratory/e99072.json deleted file mode 100644 index 1ce0604..0000000 --- a/specifications/iit-kharagpur/robotics-and-control-systems-simulation-laboratory/e99072.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "experiment": { - "id": "e99072", - "name": "Forward Kinematics of 6R Robot Manipulator", - "discipline_id": "mech", - "institute_id": "iitkgp", - "developers": [ - { - "name": "Prof. C S Kumar", - "email": "kumar@mech.iitkgp.ernet.in" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlabs.iitkgp.ernet.in/mvl1/6RForward/sixR_aim.html" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Forward Kinematics of 6R Robot Manipulator", - "assets": [], - "sections" : [ - "Introduction", - "Theory", - "Tutorial", - "Simulation", - "Simulation(Java Sessions)", - "OnLine Control" - ] - } -} diff --git a/specifications/iit-kharagpur/robotics-and-control-systems-simulation-laboratory/e99073.json b/specifications/iit-kharagpur/robotics-and-control-systems-simulation-laboratory/e99073.json deleted file mode 100644 index c0fc748..0000000 --- a/specifications/iit-kharagpur/robotics-and-control-systems-simulation-laboratory/e99073.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "experiment": { - "id": "e99073", - "name": "Forward Kinematics 5R Robot Manipulator", - "discipline_id": "mech", - "institute_id": "iitkgp", - "developers": [ - { - "name": "Prof. C S Kumar", - "email": "kumar@mech.iitkgp.ernet.in" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlabs.iitkgp.ernet.in/mvl1/5RForward/fiveR_aim.html" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Forward Kinematics 5R Robot Manipulator", - "assets": [], - "sections" : [ - "AIM", - "Theory", - "Simulation", - "Simulation(Java Sessions)", - "Online Control" - ] - } -} diff --git a/specifications/iit-kharagpur/robotics-and-control-systems-simulation-laboratory/e99074.json b/specifications/iit-kharagpur/robotics-and-control-systems-simulation-laboratory/e99074.json deleted file mode 100644 index d1179d0..0000000 --- a/specifications/iit-kharagpur/robotics-and-control-systems-simulation-laboratory/e99074.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "experiment": { - "id": "e99074", - "name": "The Slider Crank mechanism", - "discipline_id": "mech", - "institute_id": "iitkgp", - "developers": [ - { - "name": "Prof. C S Kumar", - "email": "kumar@mech.iitkgp.ernet.in" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlabs.iitkgp.ernet.in/mvl1/slider_crank/scm.html" - } - ], - "integration_level": 4, - "overview": "This experiments deals with The Slider Crank mechanism", - "assets": [], - "sections" : [ - "AIM", - "Theory", - "Simulation" - ] - } -} diff --git a/specifications/iit-kharagpur/robotics-and-control-systems-simulation-laboratory/e99075.json b/specifications/iit-kharagpur/robotics-and-control-systems-simulation-laboratory/e99075.json deleted file mode 100644 index 5b40df8..0000000 --- a/specifications/iit-kharagpur/robotics-and-control-systems-simulation-laboratory/e99075.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "experiment": { - "id": "e99075", - "name": "Fourbar Mechanism", - "discipline_id": "mech", - "institute_id": "iitkgp", - "developers": [ - { - "name": "Prof. C S Kumar", - "email": "kumar@mech.iitkgp.ernet.in" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlabs.iitkgp.ernet.in/mvl1/Fourbar/fb_aim.html" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Fourbar Mechanism", - "assets": [], - "sections" : [ - "AIM", - "Theory", - "Simulation" - ] - } -} diff --git a/specifications/iit-kharagpur/robotics-and-control-systems-simulation-laboratory/robotics-and-control-systems-simulation-laboratory.json b/specifications/iit-kharagpur/robotics-and-control-systems-simulation-laboratory/robotics-and-control-systems-simulation-laboratory.json deleted file mode 100644 index 7591cbf..0000000 --- a/specifications/iit-kharagpur/robotics-and-control-systems-simulation-laboratory/robotics-and-control-systems-simulation-laboratory.json +++ /dev/null @@ -1,48 +0,0 @@ -{ - "lab": { - "id": "VLS04", - "name": "robotics and control systems simulation laboratory", - "discipline_id": "mech", - "institute_id": "iitkgp", - "developers": [ - { - "name": "Prof. C S Kumar", - "email": "kumar@mech.iitkgp.ernet.in" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlabs.iitkgp.ernet.in/mvl1/" - } - ], - "integration_level": 4, - "overview": "This lab deals with robotics and control systems simulation laboratory", - "assets": [], - "sections": [ - { - "name": "Introduction" - }, - { - "experiments" : [ - "e99075", - "e99074", - "e99073", - "e99072", - "e99071", - "e99070", - "e99069", - "e99068", - "e99067", - "e99066", - "e99065", - "e99064", - "e99063", - "e99062", - "e99061" - ] - } - ] - } -} diff --git a/specifications/iit-kharagpur/rotating-machinery-fault-simulation-laboratory/dump_json_to_lds.py b/specifications/iit-kharagpur/rotating-machinery-fault-simulation-laboratory/dump_json_to_lds.py deleted file mode 100644 index 78c74fa..0000000 --- a/specifications/iit-kharagpur/rotating-machinery-fault-simulation-laboratory/dump_json_to_lds.py +++ /dev/null @@ -1,44 +0,0 @@ - -import os -import os.path -import json -import requests -import glob - -URL= 'http://localhost:5000' -json_path_list = [] - -def post_lab_spec(file_path): - - with open(file_path) as json_file: - print file_path - data = json.load(json_file) - if 'lab' in data.keys(): - end_point = "/labs" - if 'experiment' in data.keys(): - end_point = "/experiments" - - data['key'] = 'defaultkey' - APP_URL = URL + end_point - headers = {'Content-Type': 'application/json'} - try: - response = requests.post(APP_URL, data = json.dumps(data), - headers=headers) - if response.status_code == 200: - print "Added json data : " + file_path - else: - print "Errore in adding json file " + file_path + " due to " + response.text - except Exception as e: - print str(e) -try: - exp_file_list = glob.glob(os.getcwd() + "/e9*.json") - lab_file_list = glob.glob(os.getcwd() + "/[!e9]*.json") - - for filename in exp_file_list: - json_path_list.append(filename) -except Exception as e: - print str(e) - -for file_path in json_path_list: - post_lab_spec(file_path) -post_lab_spec(lab_file_list[0]) diff --git a/specifications/iit-kharagpur/rotating-machinery-fault-simulation-laboratory/e99052.json b/specifications/iit-kharagpur/rotating-machinery-fault-simulation-laboratory/e99052.json deleted file mode 100644 index 02e98d7..0000000 --- a/specifications/iit-kharagpur/rotating-machinery-fault-simulation-laboratory/e99052.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "experiment": { - "id": "e99052", - "name": "Oil Whirl Monitoring", - "discipline_id": "mech", - "institute_id": "iitkgp", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlabs.iitkgp.ernet.in/rmfs/exp4/index.html" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Oil Whirl Monitoring", - "assets": [], - "sections" : [ - "Introduction", - "OBJECTIVE", - "THEORY", - "PROCEDURE", - "SIMULATOR", - "QUIZ", - "REFERENCE" - ] - } -} diff --git a/specifications/iit-kharagpur/rotating-machinery-fault-simulation-laboratory/e99053.json b/specifications/iit-kharagpur/rotating-machinery-fault-simulation-laboratory/e99053.json deleted file mode 100644 index b688169..0000000 --- a/specifications/iit-kharagpur/rotating-machinery-fault-simulation-laboratory/e99053.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "experiment": { - "id": "e99053", - "name": "Static Balancing Studies of Rotary Systems", - "discipline_id": "mech", - "institute_id": "iitkgp", - "developers": [ - { - "name": "Prof. V N A Naikan", - "email": "naikan@hijli.iitkgp.ernet.in" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlabs.iitkgp.ernet.in/rmfs/exp3/index.html" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Static Balancing Studies of Rotary Systems", - "assets": [], - "sections" : [ - "Introduction", - "OBJECTIVE", - "THEORY", - "PROCEDURE", - "SIMULATOR", - "QUIZ", - "REFERENCE" - ] - } -} diff --git a/specifications/iit-kharagpur/rotating-machinery-fault-simulation-laboratory/e99054.json b/specifications/iit-kharagpur/rotating-machinery-fault-simulation-laboratory/e99054.json deleted file mode 100644 index 9849108..0000000 --- a/specifications/iit-kharagpur/rotating-machinery-fault-simulation-laboratory/e99054.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "experiment": { - "id": "e99054", - "name": "Diagnosis of Shaft Misalignment and its Effects", - "discipline_id": "mech", - "institute_id": "iitkgp", - "developers": [ - { - "name": "Prof. V N A Naikan", - "email": "naikan@hijli.iitkgp.ernet.in" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlabs.iitkgp.ernet.in/rmfs/exp2/index.html" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Diagnosis of Shaft Misalignment and its Effects", - "assets": [], - "sections" : [ - "Introduction", - "OBJECTIVE", - "THEORY", - "PROCEDURE", - "SIMULATOR", - "QUIZ", - "REFERENCE" - ] - } -} diff --git a/specifications/iit-kharagpur/rotating-machinery-fault-simulation-laboratory/e99055.json b/specifications/iit-kharagpur/rotating-machinery-fault-simulation-laboratory/e99055.json deleted file mode 100644 index 273a21a..0000000 --- a/specifications/iit-kharagpur/rotating-machinery-fault-simulation-laboratory/e99055.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "experiment": { - "id": "e99055", - "name": "Mechanical Looseness", - "discipline_id": "mech", - "institute_id": "iitkgp", - "developers": [ - { - "name": "Prof. V N A Naikan", - "email": "naikan@hijli.iitkgp.ernet.in" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlabs.iitkgp.ernet.in/rmfs/exp5/index.html" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Mechanical Looseness", - "assets": [], - "sections" : [ - "Introduction", - "OBJECTIVE", - "THEORY", - "PROCEDURE", - "SIMULATOR", - "QUIZ", - "REFERENCE" - ] - } -} diff --git a/specifications/iit-kharagpur/rotating-machinery-fault-simulation-laboratory/e99056.json b/specifications/iit-kharagpur/rotating-machinery-fault-simulation-laboratory/e99056.json deleted file mode 100644 index a1f75c6..0000000 --- a/specifications/iit-kharagpur/rotating-machinery-fault-simulation-laboratory/e99056.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "experiment": { - "id": "e99056", - "name": "Bearing Defects of Various Types", - "discipline_id": "mech", - "institute_id": "iitkgp", - "developers": [ - { - "name": "Prof. V N A Naikan", - "email": "naikan@hijli.iitkgp.ernet.in" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlabs.iitkgp.ernet.in/rmfs/exp6/index.html" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Bearing Defects of Various Types", - "assets": [], - "sections" : [ - "Introduction", - "OBJECTIVE", - "THEORY", - "PROCEDURE", - "SIMULATOR", - "QUIZ", - "REFERENCE" - ] - } -} diff --git a/specifications/iit-kharagpur/rotating-machinery-fault-simulation-laboratory/e99057.json b/specifications/iit-kharagpur/rotating-machinery-fault-simulation-laboratory/e99057.json deleted file mode 100644 index b47f19e..0000000 --- a/specifications/iit-kharagpur/rotating-machinery-fault-simulation-laboratory/e99057.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "experiment": { - "id": "e99057", - "name": "Sympathetic Vibrations and its Effects", - "discipline_id": "mech", - "institute_id": "iitkgp", - "developers": [ - { - "name": "Prof. V N A Naikan", - "email": "naikan@hijli.iitkgp.ernet.in" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlabs.iitkgp.ernet.in/rmfs/exp7/index.html" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Sympathetic Vibrations and its Effects", - "assets": [], - "sections" : [ - "Introduction", - "OBJECTIVE", - "THEORY", - "PROCEDURE", - "SIMULATOR", - "QUIZ", - "REFERENCE" - ] - } -} diff --git a/specifications/iit-kharagpur/rotating-machinery-fault-simulation-laboratory/e99058.json b/specifications/iit-kharagpur/rotating-machinery-fault-simulation-laboratory/e99058.json deleted file mode 100644 index 7952a66..0000000 --- a/specifications/iit-kharagpur/rotating-machinery-fault-simulation-laboratory/e99058.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "experiment": { - "id": "e99058", - "name": "Cavitation of Centrifugal Pump", - "discipline_id": "mech", - "institute_id": "iitkgp", - "developers": [ - { - "name": "Prof. V N A Naikan", - "email": "naikan@hijli.iitkgp.ernet.in" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlabs.iitkgp.ernet.in/rmfs/exp9/index.html" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Cavitation of Centrifugal Pump", - "assets": [], - "sections" : [ - "Introduction", - "OBJECTIVE", - "THEORY", - "PROCEDURE", - "SIMULATOR", - "QUIZ", - "REFERENCE" - ] - } -} diff --git a/specifications/iit-kharagpur/rotating-machinery-fault-simulation-laboratory/e99059.json b/specifications/iit-kharagpur/rotating-machinery-fault-simulation-laboratory/e99059.json deleted file mode 100644 index e1eebb6..0000000 --- a/specifications/iit-kharagpur/rotating-machinery-fault-simulation-laboratory/e99059.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "experiment": { - "id": "e99059", - "name": "Effects of Bent Shafts on Rotor Performance", - "discipline_id": "mech", - "institute_id": "iitkgp", - "developers": [ - { - "name": "Prof. V N A Naikan", - "email": "naikan@hijli.iitkgp.ernet.in" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlabs.iitkgp.ernet.in/rmfs/exp8/index.html" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Effects of Bent Shafts on Rotor Performance", - "assets": [], - "sections" : [ - "Introduction", - "OBJECTIVE", - "THEORY", - "PROCEDURE", - "SIMULATOR", - "QUIZ", - "REFERENCE" - ] - } -} diff --git a/specifications/iit-kharagpur/rotating-machinery-fault-simulation-laboratory/e99060.json b/specifications/iit-kharagpur/rotating-machinery-fault-simulation-laboratory/e99060.json deleted file mode 100644 index bb98d7b..0000000 --- a/specifications/iit-kharagpur/rotating-machinery-fault-simulation-laboratory/e99060.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "experiment": { - "id": "e99060", - "name": "Machinery Soft-Foot", - "discipline_id": "mech", - "institute_id": "iitkgp", - "developers": [ - { - "name": "Prof. V N A Naikan", - "email": "naikan@hijli.iitkgp.ernet.in" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlabs.iitkgp.ernet.in/rmfs/exp1/index.html" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Machinery Soft-Foot", - "assets": [], - "sections" : [ - "Introduction", - "OBJECTIVE", - "THEORY", - "PROCEDURE", - "SIMULATOR", - "QUIZ", - "REFERENCE" - ] - } -} diff --git a/specifications/iit-kharagpur/rotating-machinery-fault-simulation-laboratory/rotating-machinery-fault-simulation-laboratory.json b/specifications/iit-kharagpur/rotating-machinery-fault-simulation-laboratory/rotating-machinery-fault-simulation-laboratory.json deleted file mode 100644 index e6f6051..0000000 --- a/specifications/iit-kharagpur/rotating-machinery-fault-simulation-laboratory/rotating-machinery-fault-simulation-laboratory.json +++ /dev/null @@ -1,42 +0,0 @@ -{ - "lab": { - "id": "VLS15", - "name": "rotating machinery fault simulation laboratory", - "discipline_id": "mech", - "institute_id": "iitkgp", - "developers": [ - { - "name": "Prof. V N A Naikan", - "email": "naikan@hijli.iitkgp.ernet.in" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlabs.iitkgp.ernet.in/rmfs/" - } - ], - "integration_level": 4, - "overview": "This lab deals with rotating machinery fault simulation laboratory", - "assets": [], - "sections": [ - { - "name": "Introduction" - }, - { - "experiments" : [ - "e99060", - "e99059", - "e99058", - "e99057", - "e99056", - "e99055", - "e99054", - "e99053", - "e99052" - ] - } - ] - } -} diff --git a/specifications/iit-kharagpur/satellite-modelling-and-simulation/dump_json_to_lds.py b/specifications/iit-kharagpur/satellite-modelling-and-simulation/dump_json_to_lds.py deleted file mode 100644 index 78c74fa..0000000 --- a/specifications/iit-kharagpur/satellite-modelling-and-simulation/dump_json_to_lds.py +++ /dev/null @@ -1,44 +0,0 @@ - -import os -import os.path -import json -import requests -import glob - -URL= 'http://localhost:5000' -json_path_list = [] - -def post_lab_spec(file_path): - - with open(file_path) as json_file: - print file_path - data = json.load(json_file) - if 'lab' in data.keys(): - end_point = "/labs" - if 'experiment' in data.keys(): - end_point = "/experiments" - - data['key'] = 'defaultkey' - APP_URL = URL + end_point - headers = {'Content-Type': 'application/json'} - try: - response = requests.post(APP_URL, data = json.dumps(data), - headers=headers) - if response.status_code == 200: - print "Added json data : " + file_path - else: - print "Errore in adding json file " + file_path + " due to " + response.text - except Exception as e: - print str(e) -try: - exp_file_list = glob.glob(os.getcwd() + "/e9*.json") - lab_file_list = glob.glob(os.getcwd() + "/[!e9]*.json") - - for filename in exp_file_list: - json_path_list.append(filename) -except Exception as e: - print str(e) - -for file_path in json_path_list: - post_lab_spec(file_path) -post_lab_spec(lab_file_list[0]) diff --git a/specifications/iit-kharagpur/satellite-modelling-and-simulation/e98871.json b/specifications/iit-kharagpur/satellite-modelling-and-simulation/e98871.json deleted file mode 100644 index f05e656..0000000 --- a/specifications/iit-kharagpur/satellite-modelling-and-simulation/e98871.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "experiment": { - "id": "e98871", - "name": "Polar Orbit", - "discipline_id": "aero", - "institute_id": "iitkgp", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://www.aero.iitb.ac.in/pratham/virtuallaboratory/experiment/polar1.php" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Polar Orbit", - "assets": [], - "sections" : [ - "" - ] - } -} diff --git a/specifications/iit-kharagpur/satellite-modelling-and-simulation/e98872.json b/specifications/iit-kharagpur/satellite-modelling-and-simulation/e98872.json deleted file mode 100644 index 904767c..0000000 --- a/specifications/iit-kharagpur/satellite-modelling-and-simulation/e98872.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "experiment": { - "id": "e98872", - "name": "Equatorial orbit", - "discipline_id": "aero", - "institute_id": "iitkgp", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://www.aero.iitb.ac.in/pratham/virtuallaboratory/experiment/equitorial1.php" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Equatorial orbit", - "assets": [], - "sections" : [ - "" - ] - } -} diff --git a/specifications/iit-kharagpur/satellite-modelling-and-simulation/satellite-modelling-and-simulation.json b/specifications/iit-kharagpur/satellite-modelling-and-simulation/satellite-modelling-and-simulation.json deleted file mode 100644 index 1adcfc7..0000000 --- a/specifications/iit-kharagpur/satellite-modelling-and-simulation/satellite-modelling-and-simulation.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "lab": { - "id": "aero04", - "name": "satellite modelling and simulation", - "discipline_id": "aero", - "institute_id": "iitkgp", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://www.aero.iitb.ac.in/pratham/virtuallaboratory/index.php" - } - ], - "integration_level": 4, - "overview": "This lab deals with satellite modelling and simulation", - "assets": [], - "sections": [ - { - "name": "Introduction" - }, - { - "experiments" : [ - "e98872", - "e98871" - ] - } - ] - } -} diff --git a/specifications/iit-kharagpur/soft-computing-tools-in-engineering/dump_json_to_lds.py b/specifications/iit-kharagpur/soft-computing-tools-in-engineering/dump_json_to_lds.py deleted file mode 100644 index 78c74fa..0000000 --- a/specifications/iit-kharagpur/soft-computing-tools-in-engineering/dump_json_to_lds.py +++ /dev/null @@ -1,44 +0,0 @@ - -import os -import os.path -import json -import requests -import glob - -URL= 'http://localhost:5000' -json_path_list = [] - -def post_lab_spec(file_path): - - with open(file_path) as json_file: - print file_path - data = json.load(json_file) - if 'lab' in data.keys(): - end_point = "/labs" - if 'experiment' in data.keys(): - end_point = "/experiments" - - data['key'] = 'defaultkey' - APP_URL = URL + end_point - headers = {'Content-Type': 'application/json'} - try: - response = requests.post(APP_URL, data = json.dumps(data), - headers=headers) - if response.status_code == 200: - print "Added json data : " + file_path - else: - print "Errore in adding json file " + file_path + " due to " + response.text - except Exception as e: - print str(e) -try: - exp_file_list = glob.glob(os.getcwd() + "/e9*.json") - lab_file_list = glob.glob(os.getcwd() + "/[!e9]*.json") - - for filename in exp_file_list: - json_path_list.append(filename) -except Exception as e: - print str(e) - -for file_path in json_path_list: - post_lab_spec(file_path) -post_lab_spec(lab_file_list[0]) diff --git a/specifications/iit-kharagpur/soft-computing-tools-in-engineering/e98920.json b/specifications/iit-kharagpur/soft-computing-tools-in-engineering/e98920.json deleted file mode 100644 index 2d546e1..0000000 --- a/specifications/iit-kharagpur/soft-computing-tools-in-engineering/e98920.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "experiment": { - "id": "e98920", - "name": "Genetic Expression Programming and Application", - "discipline_id": "civil", - "institute_id": "iitkgp", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlabs.iitkgp.ernet.in/scte/exp11/index.html" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Genetic Expression Programming and Application", - "assets": [], - "sections" : [ - "Introduction", - "Theory", - "Objective", - "Procedure", - "Simulator", - "Quiz", - "Reference" - ] - } -} diff --git a/specifications/iit-kharagpur/soft-computing-tools-in-engineering/e98921.json b/specifications/iit-kharagpur/soft-computing-tools-in-engineering/e98921.json deleted file mode 100644 index 51bd978..0000000 --- a/specifications/iit-kharagpur/soft-computing-tools-in-engineering/e98921.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "experiment": { - "id": "e98921", - "name": "Binary and Real Coded genetic Algorithms and Application", - "discipline_id": "civil", - "institute_id": "iitkgp", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlabs.iitkgp.ernet.in/scte/exp10/index.html" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Binary and Real Coded genetic Algorithms and Application", - "assets": [], - "sections" : [ - "Introduction", - "Theory", - "Objective", - "Procedure", - "Simulator", - "Quiz", - "Reference" - ] - } -} diff --git a/specifications/iit-kharagpur/soft-computing-tools-in-engineering/e98922.json b/specifications/iit-kharagpur/soft-computing-tools-in-engineering/e98922.json deleted file mode 100644 index bde2546..0000000 --- a/specifications/iit-kharagpur/soft-computing-tools-in-engineering/e98922.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "experiment": { - "id": "e98922", - "name": "Introduction to Evolutionary Algorithms and Fundamentals", - "discipline_id": "civil", - "institute_id": "iitkgp", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlabs.iitkgp.ernet.in/scte/exp9/index.html" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Introduction to Evolutionary Algorithms and Fundamentals", - "assets": [], - "sections" : [ - "Introduction", - "Theory", - "Objective", - "Procedure", - "Simulator", - "Quiz", - "Reference" - ] - } -} diff --git a/specifications/iit-kharagpur/soft-computing-tools-in-engineering/e98923.json b/specifications/iit-kharagpur/soft-computing-tools-in-engineering/e98923.json deleted file mode 100644 index 2afaab9..0000000 --- a/specifications/iit-kharagpur/soft-computing-tools-in-engineering/e98923.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "experiment": { - "id": "e98923", - "name": "Introduction to Probabilistic Reasoning and Baayesian Networks Application", - "discipline_id": "civil", - "institute_id": "iitkgp", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlabs.iitkgp.ernet.in/scte/exp12/index.html" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Introduction to Probabilistic Reasoning and Baayesian Networks Application", - "assets": [], - "sections" : [ - "Introduction", - "Theory", - "Objective", - "Procedure", - "Simulator", - "Quiz", - "Reference" - ] - } -} diff --git a/specifications/iit-kharagpur/soft-computing-tools-in-engineering/e98924.json b/specifications/iit-kharagpur/soft-computing-tools-in-engineering/e98924.json deleted file mode 100644 index fa660fb..0000000 --- a/specifications/iit-kharagpur/soft-computing-tools-in-engineering/e98924.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "experiment": { - "id": "e98924", - "name": "Probabilitic Neural Networks and Application", - "discipline_id": "civil", - "institute_id": "iitkgp", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlabs.iitkgp.ernet.in/scte/exp8/index.html" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Probabilitic Neural Networks and Application", - "assets": [], - "sections" : [ - "Introduction", - "Theory", - "Objective", - "Procedure", - "Simulator", - "Quiz", - "Reference" - ] - } -} diff --git a/specifications/iit-kharagpur/soft-computing-tools-in-engineering/e98925.json b/specifications/iit-kharagpur/soft-computing-tools-in-engineering/e98925.json deleted file mode 100644 index 496121c..0000000 --- a/specifications/iit-kharagpur/soft-computing-tools-in-engineering/e98925.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "experiment": { - "id": "e98925", - "name": "Radial Basis Function and Application", - "discipline_id": "civil", - "institute_id": "iitkgp", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlabs.iitkgp.ernet.in/scte/exp7/index.html" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Radial Basis Function and Application", - "assets": [], - "sections" : [ - "Introduction", - "Theory", - "Objective", - "Procedure", - "Simulator", - "Quiz", - "Reference" - ] - } -} diff --git a/specifications/iit-kharagpur/soft-computing-tools-in-engineering/e98926.json b/specifications/iit-kharagpur/soft-computing-tools-in-engineering/e98926.json deleted file mode 100644 index de2a309..0000000 --- a/specifications/iit-kharagpur/soft-computing-tools-in-engineering/e98926.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "experiment": { - "id": "e98926", - "name": "Multilayer Perceptron and Application", - "discipline_id": "civil", - "institute_id": "iitkgp", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlabs.iitkgp.ernet.in/scte/exp6/index.html" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Multilayer Perceptron and Application", - "assets": [], - "sections" : [ - "Introduction", - "Theory", - "Objective", - "Procedure", - "Simulator", - "Quiz", - "Reference" - ] - } -} diff --git a/specifications/iit-kharagpur/soft-computing-tools-in-engineering/e98927.json b/specifications/iit-kharagpur/soft-computing-tools-in-engineering/e98927.json deleted file mode 100644 index 60c3be1..0000000 --- a/specifications/iit-kharagpur/soft-computing-tools-in-engineering/e98927.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "experiment": { - "id": "e98927", - "name": "Fuzzy Weighted Average and Application", - "discipline_id": "civil", - "institute_id": "iitkgp", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlabs.iitkgp.ernet.in/scte/exp3/index.html" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Fuzzy Weighted Average and Application", - "assets": [], - "sections" : [ - "Introduction", - "Theory", - "Objective", - "Procedure", - "Simulator", - "Quiz", - "Reference" - ] - } -} diff --git a/specifications/iit-kharagpur/soft-computing-tools-in-engineering/e98928.json b/specifications/iit-kharagpur/soft-computing-tools-in-engineering/e98928.json deleted file mode 100644 index af02cf6..0000000 --- a/specifications/iit-kharagpur/soft-computing-tools-in-engineering/e98928.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "experiment": { - "id": "e98928", - "name": "Introduction to Neural Networks and Perceptron Example", - "discipline_id": "civil", - "institute_id": "iitkgp", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlabs.iitkgp.ernet.in/scte/exp5/index.html" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Introduction to Neural Networks and Perceptron Example", - "assets": [], - "sections" : [ - "Introduction", - "Theory", - "Objective", - "Procedure", - "Simulator", - "Quiz", - "Reference" - ] - } -} diff --git a/specifications/iit-kharagpur/soft-computing-tools-in-engineering/e98929.json b/specifications/iit-kharagpur/soft-computing-tools-in-engineering/e98929.json deleted file mode 100644 index 671d381..0000000 --- a/specifications/iit-kharagpur/soft-computing-tools-in-engineering/e98929.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "experiment": { - "id": "e98929", - "name": "Fuzzy Control and Application", - "discipline_id": "civil", - "institute_id": "iitkgp", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlabs.iitkgp.ernet.in/scte/exp4/index.html" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Fuzzy Control and Application", - "assets": [], - "sections" : [ - "Introduction", - "Theory", - "Objective", - "Procedure", - "Simulator", - "Quiz", - "Reference" - ] - } -} diff --git a/specifications/iit-kharagpur/soft-computing-tools-in-engineering/e98930.json b/specifications/iit-kharagpur/soft-computing-tools-in-engineering/e98930.json deleted file mode 100644 index 82543d6..0000000 --- a/specifications/iit-kharagpur/soft-computing-tools-in-engineering/e98930.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "experiment": { - "id": "e98930", - "name": "Fuzzy Inference System(FIS)", - "discipline_id": "civil", - "institute_id": "iitkgp", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlabs.iitkgp.ernet.in/scte/exp2/index.html" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Fuzzy Inference System(FIS)", - "assets": [], - "sections" : [ - "Introduction", - "Theory", - "Objective", - "Procedure", - "Simulator", - "Quiz", - "Reference" - ] - } -} diff --git a/specifications/iit-kharagpur/soft-computing-tools-in-engineering/e98931.json b/specifications/iit-kharagpur/soft-computing-tools-in-engineering/e98931.json deleted file mode 100644 index 52d0b83..0000000 --- a/specifications/iit-kharagpur/soft-computing-tools-in-engineering/e98931.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "experiment": { - "id": "e98931", - "name": "Introduction to Fundamental of Fuzzy Logic and Basic Operations", - "discipline_id": "civil", - "institute_id": "iitkgp", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlabs.iitkgp.ernet.in/scte/exp1/index.html" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Introduction to Fundamental of Fuzzy Logic and Basic Operations", - "assets": [], - "sections" : [ - "Introduction", - "Theory", - "Objective", - "Procedure", - "Simulator", - "Quiz", - "Reference" - ] - } -} diff --git a/specifications/iit-kharagpur/soft-computing-tools-in-engineering/soft-computing-tools-in-engineering.json b/specifications/iit-kharagpur/soft-computing-tools-in-engineering/soft-computing-tools-in-engineering.json deleted file mode 100644 index 6c98d95..0000000 --- a/specifications/iit-kharagpur/soft-computing-tools-in-engineering/soft-computing-tools-in-engineering.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "lab": { - "id": "VLS11", - "name": "soft computing tools in engineering", - "discipline_id": "civil", - "institute_id": "iitkgp", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlabs.iitkgp.ernet.in/scte/" - } - ], - "integration_level": 4, - "overview": "This lab deals with soft computing tools in engineering", - "assets": [], - "sections": [ - { - "name": "Introduction" - }, - { - "experiments" : [ - "e98931", - "e98930", - "e98929", - "e98928", - "e98927", - "e98926", - "e98925", - "e98924", - "e98922", - "e98921", - "e98920", - "e98923" - ] - } - ] - } -} diff --git a/specifications/iit-kharagpur/software-engineering-lab/dump_json_to_lds.py b/specifications/iit-kharagpur/software-engineering-lab/dump_json_to_lds.py deleted file mode 100644 index 78c74fa..0000000 --- a/specifications/iit-kharagpur/software-engineering-lab/dump_json_to_lds.py +++ /dev/null @@ -1,44 +0,0 @@ - -import os -import os.path -import json -import requests -import glob - -URL= 'http://localhost:5000' -json_path_list = [] - -def post_lab_spec(file_path): - - with open(file_path) as json_file: - print file_path - data = json.load(json_file) - if 'lab' in data.keys(): - end_point = "/labs" - if 'experiment' in data.keys(): - end_point = "/experiments" - - data['key'] = 'defaultkey' - APP_URL = URL + end_point - headers = {'Content-Type': 'application/json'} - try: - response = requests.post(APP_URL, data = json.dumps(data), - headers=headers) - if response.status_code == 200: - print "Added json data : " + file_path - else: - print "Errore in adding json file " + file_path + " due to " + response.text - except Exception as e: - print str(e) -try: - exp_file_list = glob.glob(os.getcwd() + "/e9*.json") - lab_file_list = glob.glob(os.getcwd() + "/[!e9]*.json") - - for filename in exp_file_list: - json_path_list.append(filename) -except Exception as e: - print str(e) - -for file_path in json_path_list: - post_lab_spec(file_path) -post_lab_spec(lab_file_list[0]) diff --git a/specifications/iit-kharagpur/software-engineering-lab/e99150.json b/specifications/iit-kharagpur/software-engineering-lab/e99150.json deleted file mode 100644 index 4dcc402..0000000 --- a/specifications/iit-kharagpur/software-engineering-lab/e99150.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "experiment": { - "id": "e99150", - "name": "Designing Test Suites", - "discipline_id": "cse", - "institute_id": "iitkgp", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlabs.iitkgp.ernet.in/se/10/" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Designing Test Suites", - "assets": [], - "sections" : [ - "Introduction", - "Theory", - "Simulation", - "Case Study", - "Self-evaluation", - "Procedure", - "Exercises", - "References" - ] - } -} diff --git a/specifications/iit-kharagpur/software-engineering-lab/e99151.json b/specifications/iit-kharagpur/software-engineering-lab/e99151.json deleted file mode 100644 index 57200a8..0000000 --- a/specifications/iit-kharagpur/software-engineering-lab/e99151.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "experiment": { - "id": "e99151", - "name": "Estimation of Test Coverage Metrics and Structural Complexity", - "discipline_id": "cse", - "institute_id": "iitkgp", - "developers": [ - { - "name": "Prof. Sudip Misra", - "email": "smisra@sit.iitkgp.ernet.in" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlabs.iitkgp.ernet.in/se/9/" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Estimation of Test Coverage Metrics and Structural Complexity", - "assets": [], - "sections" : [ - "Introduction", - "Theory", - "Simulation", - "Case Study", - "Self-evaluation", - "Procedure", - "Exercises", - "References" - ] - } -} diff --git a/specifications/iit-kharagpur/software-engineering-lab/e99152.json b/specifications/iit-kharagpur/software-engineering-lab/e99152.json deleted file mode 100644 index dcf13d0..0000000 --- a/specifications/iit-kharagpur/software-engineering-lab/e99152.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "experiment": { - "id": "e99152", - "name": "Modeling Data Flow Diagrams", - "discipline_id": "cse", - "institute_id": "iitkgp", - "developers": [ - { - "name": "Prof. Sudip Misra", - "email": "smisra@sit.iitkgp.ernet.in" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlabs.iitkgp.ernet.in/se/8/" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Modeling Data Flow Diagrams", - "assets": [], - "sections" : [ - "Introduction", - "Theory", - "Simulation", - "Case Study", - "Self-evaluation", - "Procedure", - "Exercises", - "References" - ] - } -} diff --git a/specifications/iit-kharagpur/software-engineering-lab/e99153.json b/specifications/iit-kharagpur/software-engineering-lab/e99153.json deleted file mode 100644 index c827b78..0000000 --- a/specifications/iit-kharagpur/software-engineering-lab/e99153.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "experiment": { - "id": "e99153", - "name": "Modeling UML Class Diagrams and Sequence diagrams", - "discipline_id": "cse", - "institute_id": "iitkgp", - "developers": [ - { - "name": "Prof. Sudip Misra", - "email": "smisra@sit.iitkgp.ernet.in" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlabs.iitkgp.ernet.in/se/7/" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Modeling UML Class Diagrams and Sequence diagrams", - "assets": [], - "sections" : [ - "Introduction", - "Theory", - "Simulation", - "Case Study", - "Self-evaluation", - "Procedure", - "Exercises", - "References" - ] - } -} diff --git a/specifications/iit-kharagpur/software-engineering-lab/e99154.json b/specifications/iit-kharagpur/software-engineering-lab/e99154.json deleted file mode 100644 index 70a116e..0000000 --- a/specifications/iit-kharagpur/software-engineering-lab/e99154.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "experiment": { - "id": "e99154", - "name": "Statechart and Activity Modeling", - "discipline_id": "cse", - "institute_id": "iitkgp", - "developers": [ - { - "name": "Prof. Sudip Misra", - "email": "smisra@sit.iitkgp.ernet.in" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlabs.iitkgp.ernet.in/se/6/" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Statechart and Activity Modeling", - "assets": [], - "sections" : [ - "Introduction", - "Theory", - "Simulation", - "Case Study", - "Self-evaluation", - "Procedure", - "Exercises", - "References" - ] - } -} diff --git a/specifications/iit-kharagpur/software-engineering-lab/e99155.json b/specifications/iit-kharagpur/software-engineering-lab/e99155.json deleted file mode 100644 index 4800b2c..0000000 --- a/specifications/iit-kharagpur/software-engineering-lab/e99155.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "experiment": { - "id": "e99155", - "name": "Identifying Domain Classes from the Problem Statements", - "discipline_id": "cse", - "institute_id": "iitkgp", - "developers": [ - { - "name": "Prof. Sudip Misra", - "email": "smisra@sit.iitkgp.ernet.in" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlabs.iitkgp.ernet.in/se/5/" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Identifying Domain Classes from the Problem Statements", - "assets": [], - "sections" : [ - "Introduction", - "Theory", - "Simulation", - "Case Study", - "Self-evaluation", - "Procedure", - "Exercises", - "References" - ] - } -} diff --git a/specifications/iit-kharagpur/software-engineering-lab/e99156.json b/specifications/iit-kharagpur/software-engineering-lab/e99156.json deleted file mode 100644 index 20b95e6..0000000 --- a/specifications/iit-kharagpur/software-engineering-lab/e99156.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "experiment": { - "id": "e99156", - "name": "E-R Modeling from the Problem Statements", - "discipline_id": "cse", - "institute_id": "iitkgp", - "developers": [ - { - "name": "Prof. Sudip Misra", - "email": "smisra@sit.iitkgp.ernet.in" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlabs.iitkgp.ernet.in/se/4/" - } - ], - "integration_level": 4, - "overview": "This experiments deals with E-R Modeling from the Problem Statements", - "assets": [], - "sections" : [ - "Introduction", - "Theory", - "Simulation", - "Case Study", - "Self-evaluation", - "Procedure", - "Exercises", - "References" - ] - } -} diff --git a/specifications/iit-kharagpur/software-engineering-lab/e99157.json b/specifications/iit-kharagpur/software-engineering-lab/e99157.json deleted file mode 100644 index f3a1772..0000000 --- a/specifications/iit-kharagpur/software-engineering-lab/e99157.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "experiment": { - "id": "e99157", - "name": "Modeling UML Use Case Diagrams and Capturing Use Case Scenarios", - "discipline_id": "cse", - "institute_id": "iitkgp", - "developers": [ - { - "name": "Prof. Sudip Misra", - "email": "smisra@sit.iitkgp.ernet.in" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlabs.iitkgp.ernet.in/se/3/" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Modeling UML Use Case Diagrams and Capturing Use Case Scenarios", - "assets": [], - "sections" : [ - "Introduction", - "Theory", - "Simulation", - "Case Study", - "Self-evaluation", - "Procedure", - "Exercises", - "References" - ] - } -} diff --git a/specifications/iit-kharagpur/software-engineering-lab/e99158.json b/specifications/iit-kharagpur/software-engineering-lab/e99158.json deleted file mode 100644 index ef41c40..0000000 --- a/specifications/iit-kharagpur/software-engineering-lab/e99158.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "experiment": { - "id": "e99158", - "name": "Estimation of Project Metrics", - "discipline_id": "cse", - "institute_id": "iitkgp", - "developers": [ - { - "name": "Prof. Sudip Misra", - "email": "smisra@sit.iitkgp.ernet.in" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlabs.iitkgp.ernet.in/se/2/" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Estimation of Project Metrics", - "assets": [], - "sections" : [ - "Introduction", - "Theory", - "Simulation", - "Case Study", - "Self-evaluation", - "Procedure", - "Exercises", - "References" - ] - } -} diff --git a/specifications/iit-kharagpur/software-engineering-lab/e99159.json b/specifications/iit-kharagpur/software-engineering-lab/e99159.json deleted file mode 100644 index ecba7e3..0000000 --- a/specifications/iit-kharagpur/software-engineering-lab/e99159.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "experiment": { - "id": "e99159", - "name": "Identifying the Requirements from Problem Statements", - "discipline_id": "cse", - "institute_id": "iitkgp", - "developers": [ - { - "name": "Prof. Sudip Misra", - "email": "smisra@sit.iitkgp.ernet.in" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlabs.iitkgp.ernet.in/se/1/" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Identifying the Requirements from Problem Statements", - "assets": [], - "sections" : [ - "Introduction", - "Theory", - "Simulation", - "Case Study", - "Self-evaluation", - "Procedure", - "Exercises", - "References" - ] - } -} diff --git a/specifications/iit-kharagpur/software-engineering-lab/software-engineering-lab.json b/specifications/iit-kharagpur/software-engineering-lab/software-engineering-lab.json deleted file mode 100644 index 2d3b32b..0000000 --- a/specifications/iit-kharagpur/software-engineering-lab/software-engineering-lab.json +++ /dev/null @@ -1,43 +0,0 @@ -{ - "lab": { - "id": "VLS10", - "name": "software engineering lab", - "discipline_id": "cse", - "institute_id": "iitkgp", - "developers": [ - { - "name": "Prof. Sudip Misra", - "email": "smisra@sit.iitkgp.ernet.in" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlabs.iitkgp.ernet.in/se/" - } - ], - "integration_level": 4, - "overview": "This lab deals with software engineering lab", - "assets": [], - "sections": [ - { - "name": "Introduction" - }, - { - "experiments" : [ - "e99159", - "e99158", - "e99157", - "e99156", - "e99155", - "e99154", - "e99153", - "e99152", - "e99151", - "e99150" - ] - } - ] - } -} diff --git a/specifications/iit-kharagpur/virtual-high-voltage-laboratory/dump_json_to_lds.py b/specifications/iit-kharagpur/virtual-high-voltage-laboratory/dump_json_to_lds.py deleted file mode 100644 index 78c74fa..0000000 --- a/specifications/iit-kharagpur/virtual-high-voltage-laboratory/dump_json_to_lds.py +++ /dev/null @@ -1,44 +0,0 @@ - -import os -import os.path -import json -import requests -import glob - -URL= 'http://localhost:5000' -json_path_list = [] - -def post_lab_spec(file_path): - - with open(file_path) as json_file: - print file_path - data = json.load(json_file) - if 'lab' in data.keys(): - end_point = "/labs" - if 'experiment' in data.keys(): - end_point = "/experiments" - - data['key'] = 'defaultkey' - APP_URL = URL + end_point - headers = {'Content-Type': 'application/json'} - try: - response = requests.post(APP_URL, data = json.dumps(data), - headers=headers) - if response.status_code == 200: - print "Added json data : " + file_path - else: - print "Errore in adding json file " + file_path + " due to " + response.text - except Exception as e: - print str(e) -try: - exp_file_list = glob.glob(os.getcwd() + "/e9*.json") - lab_file_list = glob.glob(os.getcwd() + "/[!e9]*.json") - - for filename in exp_file_list: - json_path_list.append(filename) -except Exception as e: - print str(e) - -for file_path in json_path_list: - post_lab_spec(file_path) -post_lab_spec(lab_file_list[0]) diff --git a/specifications/iit-kharagpur/virtual-high-voltage-laboratory/e98435.json b/specifications/iit-kharagpur/virtual-high-voltage-laboratory/e98435.json deleted file mode 100644 index 20e5741..0000000 --- a/specifications/iit-kharagpur/virtual-high-voltage-laboratory/e98435.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "experiment": { - "id": "e98435", - "name": "3-Stage Cockroft Walton Voltage Multiplier", - "overview": "This experiment deals with 3-Stage Cockroft Walton Voltage Multiplier", - "discipline_id": "ee", - "institute_id": "iitkgp", - "developers": [ - { - "name": "Prof. N K Kishore", - "email": "kishor@ee.iitkgp.ernet.in" - }, - { - "name": "Dr. B. Hemalatha", - "email": "hema@adm.iitkgp.ernet.in" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlabs.iitkgp.ernet.in/vhv/exp10/index.html" - } - ], - "integration_level": 0, - "assets": [], - "sections": [ - "Introduction", - "Theory", - "Objective", - "Simulator", - "Application", - "Procedure" - ] - } -} diff --git a/specifications/iit-kharagpur/virtual-high-voltage-laboratory/e98436.json b/specifications/iit-kharagpur/virtual-high-voltage-laboratory/e98436.json deleted file mode 100644 index a1702c8..0000000 --- a/specifications/iit-kharagpur/virtual-high-voltage-laboratory/e98436.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "experiment": { - "id": "e98436", - "name": "Functioning of Voltage Doubler", - "overview": "This experiment deals with Functioning of Voltage Doubler", - "discipline_id": "ee", - "institute_id": "iitkgp", - "developers": [ - { - "name": "Prof. N K Kishore", - "email": "kishor@ee.iitkgp.ernet.in" - }, - { - "name": "Dr. B. Hemalatha", - "email": "hema@adm.iitkgp.ernet.in" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlabs.iitkgp.ernet.in/vhv/exp9/index.html" - } - ], - "integration_level": 0, - "assets": [], - "sections": [ - "Introduction", - "Theory", - "Objective", - "Simulator", - "Application", - "Procedure" - ] - } -} diff --git a/specifications/iit-kharagpur/virtual-high-voltage-laboratory/e98437.json b/specifications/iit-kharagpur/virtual-high-voltage-laboratory/e98437.json deleted file mode 100644 index 3e6f3af..0000000 --- a/specifications/iit-kharagpur/virtual-high-voltage-laboratory/e98437.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "experiment": { - "id": "e98437", - "name": "Critical Flashover of a Sphere Gap using IVG", - "overview": "This experiment deals with Critical Flashover of a Sphere Gap using IVG", - "discipline_id": "ee", - "institute_id": "iitkgp", - "developers": [ - { - "name": "Prof. N K Kishore", - "email": "kishor@ee.iitkgp.ernet.in" - }, - { - "name": "Dr. B. Hemalatha", - "email": "hema@adm.iitkgp.ernet.in" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlabs.iitkgp.ernet.in/vhv/exp7/index.html" - } - ], - "integration_level": 0, - "assets": [], - "sections": [ - "Introduction", - "Theory", - "Objective", - "Simulator", - "Application", - "Procedure" - ] - } -} diff --git a/specifications/iit-kharagpur/virtual-high-voltage-laboratory/e98438.json b/specifications/iit-kharagpur/virtual-high-voltage-laboratory/e98438.json deleted file mode 100644 index 3b01f82..0000000 --- a/specifications/iit-kharagpur/virtual-high-voltage-laboratory/e98438.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "experiment": { - "id": "e98438", - "name": "Application of High Voltage D.C.Test Source(Half Wave)", - "overview": "This experiment deals with Application of High Voltage D.C.Test Source(Half Wave)", - "discipline_id": "ee", - "institute_id": "iitkgp", - "developers": [ - { - "name": "Prof. N K Kishore", - "email": "kishor@ee.iitkgp.ernet.in" - }, - { - "name": "Dr. B. Hemalatha", - "email": "hema@adm.iitkgp.ernet.in" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlabs.iitkgp.ernet.in/vhv/exp8/index.html" - } - ], - "integration_level": 0, - "assets": [], - "sections": [ - "Introduction", - "Theory", - "Objective", - "Simulator", - "Application", - "Procedure" - ] - } -} diff --git a/specifications/iit-kharagpur/virtual-high-voltage-laboratory/e98439.json b/specifications/iit-kharagpur/virtual-high-voltage-laboratory/e98439.json deleted file mode 100644 index 7faac7f..0000000 --- a/specifications/iit-kharagpur/virtual-high-voltage-laboratory/e98439.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "experiment": { - "id": "e98439", - "name": "Critical Flashover of a Sphere Gap using IVG", - "overview": "This experiment deals with Critical Flashover of a Sphere Gap using IVG", - "discipline_id": "ee", - "institute_id": "iitkgp", - "developers": [ - { - "name": "Prof. N K Kishore", - "email": "kishor@ee.iitkgp.ernet.in" - }, - { - "name": "Dr. B. Hemalatha", - "email": "hema@adm.iitkgp.ernet.in" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlabs.iitkgp.ernet.in/vhv/exp7/index.html" - } - ], - "integration_level": 0, - "assets": [], - "sections": [ - "Introduction", - "Theory", - "Objective", - "Simulator", - "Application", - "Procedure" - ] - } -} diff --git a/specifications/iit-kharagpur/virtual-high-voltage-laboratory/e98440.json b/specifications/iit-kharagpur/virtual-high-voltage-laboratory/e98440.json deleted file mode 100644 index 0dc8154..0000000 --- a/specifications/iit-kharagpur/virtual-high-voltage-laboratory/e98440.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "experiment": { - "id": "e98440", - "name": "Power frequency AC Test Source", - "overview": "This experiment deals with Power frequency AC Test Source", - "discipline_id": "ee", - "institute_id": "iitkgp", - "developers": [ - { - "name": "Prof. N K Kishore", - "email": "kishor@ee.iitkgp.ernet.in" - }, - { - "name": "Dr. B. Hemalatha", - "email": "hema@adm.iitkgp.ernet.in" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlabs.iitkgp.ernet.in/vhv/exp6/index.html" - } - ], - "integration_level": 0, - "assets": [], - "sections": [ - "Introduction", - "Theory", - "Objective", - "Simulator", - "Application", - "Procedure" - ] - } -} diff --git a/specifications/iit-kharagpur/virtual-high-voltage-laboratory/e98441.json b/specifications/iit-kharagpur/virtual-high-voltage-laboratory/e98441.json deleted file mode 100644 index fa3f59b..0000000 --- a/specifications/iit-kharagpur/virtual-high-voltage-laboratory/e98441.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "experiment": { - "id": "e98441", - "name": "Study of Rectangular Pulse Current Generator", - "overview": "This experiment deals with Study of Rectangular Pulse Current Generator", - "discipline_id": "ee", - "institute_id": "iitkgp", - "developers": [ - { - "name": "Prof. N K Kishore", - "email": "kishor@ee.iitkgp.ernet.in" - }, - { - "name": "Dr. B. Hemalatha", - "email": "hema@adm.iitkgp.ernet.in" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlabs.iitkgp.ernet.in/vhv/exp5/index.html" - } - ], - "integration_level": 0, - "assets": [], - "sections": [ - "Introduction", - "Theory", - "Objective", - "Simulator", - "Application", - "Procedure" - ] - } -} diff --git a/specifications/iit-kharagpur/virtual-high-voltage-laboratory/e98449.json b/specifications/iit-kharagpur/virtual-high-voltage-laboratory/e98449.json deleted file mode 100644 index 1701210..0000000 --- a/specifications/iit-kharagpur/virtual-high-voltage-laboratory/e98449.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "experiment": { - "id": "e98449", - "name": "Parametric Analysis Of Impulse Current Waveform", - "overview": "This experiment deals with Parametric Analysis Of Impulse Current Waveform", - "discipline_id": "ee", - "institute_id": "iitkgp", - "developers": [ - { - "name": "Prof. N K Kishore", - "email": "kishor@ee.iitkgp.ernet.in" - }, - { - "name": "Dr. B. Hemalatha", - "email": "hema@adm.iitkgp.ernet.in" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlabs.iitkgp.ernet.in/vhv/exp4/index.html#" - } - ], - "integration_level": 0, - "assets": [], - "sections": [ - "Introduction", - "Theory", - "Objective", - "Simulator", - "Application", - "Procedure" - ] - } -} diff --git a/specifications/iit-kharagpur/virtual-high-voltage-laboratory/e98458.json b/specifications/iit-kharagpur/virtual-high-voltage-laboratory/e98458.json deleted file mode 100644 index 072e5ef..0000000 --- a/specifications/iit-kharagpur/virtual-high-voltage-laboratory/e98458.json +++ /dev/null @@ -1,37 +0,0 @@ -{ - "experiment": { - "id": "e98458", - "name": "Parametric Analysis Of Impulse Voltage Waveform", - "overview": "This experiment deals with Parametric Analysis Of Impulse Voltage Waveform", - "discipline_id": "ee", - "institute_id": "iitkgp", - "developers": [ - { - "name": "Prof. N K Kishore", - "email": "kishor@ee.iitkgp.ernet.in" - }, - { - "name": "Dr. B. Hemalatha", - "email": "hema@adm.iitkgp.ernet.in" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlabs.iitkgp.ernet.in/vhv/exp2/index.html" - } - ], - "integration_level": 0, - "assets": [], - "sections": [ - "Introduction", - "Theory", - "Objective", - "Simulator", - "Application", - "Quiz", - "References" - ] - } -} diff --git a/specifications/iit-kharagpur/virtual-high-voltage-laboratory/e98459.json b/specifications/iit-kharagpur/virtual-high-voltage-laboratory/e98459.json deleted file mode 100644 index 265ca7f..0000000 --- a/specifications/iit-kharagpur/virtual-high-voltage-laboratory/e98459.json +++ /dev/null @@ -1,37 +0,0 @@ -{ - "experiment": { - "id": "e98459", - "name": "Study Of Impulse Voltage Generator", - "overview": "This experiment deals with Study Of Impulse Voltage Generator", - "discipline_id": "ee", - "institute_id": "iitkgp", - "developers": [ - { - "name": "Prof. N K Kishore", - "email": "kishor@ee.iitkgp.ernet.in" - }, - { - "name": "Dr. B. Hemalatha", - "email": "hema@adm.iitkgp.ernet.in" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlabs.iitkgp.ernet.in/vhv/exp1/index.html" - } - ], - "integration_level": 0, - "assets": [], - "sections": [ - "Introduction", - "Theory", - "Objective", - "Simulator", - "Application", - "Quiz", - "References" - ] - } -} diff --git a/specifications/iit-kharagpur/virtual-high-voltage-laboratory/virtual-high-voltage-laboratory b/specifications/iit-kharagpur/virtual-high-voltage-laboratory/virtual-high-voltage-laboratory deleted file mode 100644 index 905c9a9..0000000 --- a/specifications/iit-kharagpur/virtual-high-voltage-laboratory/virtual-high-voltage-laboratory +++ /dev/null @@ -1,16 +0,0 @@ - /home/vlead/projects/lab-data-service/specifications/iit-kharagpur/virtual-high-voltage-laboratory: - total used in directory 60 available 78496492 - drwxrwxr-x 2 vlead vlead 4096 Mar 31 11:30 . - drwxrwxr-x 22 vlead vlead 4096 Mar 31 09:53 . -g. - -rw-rw-r-- 1 vlead vlead 906 Mar 31 11:30 e98435.json - -rw-rw-r-- 1 vlead vlead 881 Mar 31 11:25 e98436.json - -rw-rw-r-- 1 vlead vlead 909 Mar 31 11:19 e98437.json - -rw-rw-r-- 1 vlead vlead 929 Mar 31 11:14 e98438.json - -rw-rw-r-- 1 vlead vlead 909 Mar 31 11:12 e98439.json - -rw-rw-r-- 1 vlead vlead 881 Mar 31 11:11 e98440.json - -rw-rw-r-- 1 vlead vlead 909 Mar 31 11:06 e98441.json - -rw-rw-r-- 1 vlead vlead 916 Mar 31 11:03 e98449.json - -rw-rw-r-- 1 vlead vlead 925 Mar 31 10:45 e98458.json - -rw-rw-r-- 1 vlead vlead 899 Mar 31 10:36 e98459.json - -rw-rw-r-- 1 vlead vlead 895 Mar 31 11:10 virtual-high-voltage-laboratory.json diff --git a/specifications/iit-kharagpur/virtual-high-voltage-laboratory/virtual-high-voltage-laboratory.json b/specifications/iit-kharagpur/virtual-high-voltage-laboratory/virtual-high-voltage-laboratory.json deleted file mode 100644 index 58a92aa..0000000 --- a/specifications/iit-kharagpur/virtual-high-voltage-laboratory/virtual-high-voltage-laboratory.json +++ /dev/null @@ -1,59 +0,0 @@ -{ - "lab": { - "id": "ee26", - "name": "virtual-high-voltage-laboratory", - "overview": "This lab deals with virtual-high-voltage-laboratory", - "discipline_id": "ee", - "institute_id": "iitkgp", - "developers": [ - { - "name": "Prof. N K Kishore", - "email": "kishor@ee.iitkgp.ernet.in" - }, - { - "name": "Dr. B. Hemalatha", - "email": "hema@adm.iitkgp.ernet.in" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlabs.iitkgp.ernet.in/vhv/" - } - ], - "integration_level": 0, - "assets": [], - "sections": [ - { - "name": "Introduction" - }, - { - "name": "FAQ" - }, - { - "name": "Reference" - }, - { - "name": "People" - }, - { - "name": "Feedback" - }, - { - "experiments": [ - "e98459", - "e98458", - "e98449", - "e98441", - "e98440", - "e98439", - "e98438", - "e98437", - "e98436", - "e98435" - ] - } - ] - } -} diff --git a/specifications/iit-kharagpur/virtual-lab-on-mine-ventilation/dump_json_to_lds.py b/specifications/iit-kharagpur/virtual-lab-on-mine-ventilation/dump_json_to_lds.py deleted file mode 100644 index 78c74fa..0000000 --- a/specifications/iit-kharagpur/virtual-lab-on-mine-ventilation/dump_json_to_lds.py +++ /dev/null @@ -1,44 +0,0 @@ - -import os -import os.path -import json -import requests -import glob - -URL= 'http://localhost:5000' -json_path_list = [] - -def post_lab_spec(file_path): - - with open(file_path) as json_file: - print file_path - data = json.load(json_file) - if 'lab' in data.keys(): - end_point = "/labs" - if 'experiment' in data.keys(): - end_point = "/experiments" - - data['key'] = 'defaultkey' - APP_URL = URL + end_point - headers = {'Content-Type': 'application/json'} - try: - response = requests.post(APP_URL, data = json.dumps(data), - headers=headers) - if response.status_code == 200: - print "Added json data : " + file_path - else: - print "Errore in adding json file " + file_path + " due to " + response.text - except Exception as e: - print str(e) -try: - exp_file_list = glob.glob(os.getcwd() + "/e9*.json") - lab_file_list = glob.glob(os.getcwd() + "/[!e9]*.json") - - for filename in exp_file_list: - json_path_list.append(filename) -except Exception as e: - print str(e) - -for file_path in json_path_list: - post_lab_spec(file_path) -post_lab_spec(lab_file_list[0]) diff --git a/specifications/iit-kharagpur/virtual-lab-on-mine-ventilation/e98873.json b/specifications/iit-kharagpur/virtual-lab-on-mine-ventilation/e98873.json deleted file mode 100644 index 5c3cd4d..0000000 --- a/specifications/iit-kharagpur/virtual-lab-on-mine-ventilation/e98873.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "experiment": { - "id": "e98873", - "name": "Performance Evaluation of Mine Evasee Present in a Ventilation System", - "discipline_id": "mine-engg", - "institute_id": "iitkgp", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlabs.iitkgp.ernet.in/mv/exp10/index.html" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Performance Evaluation of Mine Evasee Present in a Ventilation System", - "assets": [], - "sections" : [ - "THEORY", - "INSTRUMENTS", - "VIDEO DEMO", - "PROCEDURE", - "SIMULATOR PROCEDURE", - "SIMULATOR", - "REFERENCE" - ] - } -} diff --git a/specifications/iit-kharagpur/virtual-lab-on-mine-ventilation/e98874.json b/specifications/iit-kharagpur/virtual-lab-on-mine-ventilation/e98874.json deleted file mode 100644 index ae08689..0000000 --- a/specifications/iit-kharagpur/virtual-lab-on-mine-ventilation/e98874.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "experiment": { - "id": "e98874", - "name": "Precise Traversing in a Duct using Pitot Tube", - "discipline_id": "mine-engg", - "institute_id": "iitkgp", - "developers": [ - { - "name": "Prof. Debashish Chakravarty", - "email": "dc@mining.iitkgp.ernet.in" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlabs.iitkgp.ernet.in/mv/exp9/index.html" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Precise Traversing in a Duct using Pitot Tube", - "assets": [], - "sections" : [ - "THEORY", - "VIDEO DEMO", - "PROCEDURE", - "SIMULATOR PROCEDURE", - "SIMULATOR", - "REFERENCE" - ] - } -} diff --git a/specifications/iit-kharagpur/virtual-lab-on-mine-ventilation/e98875.json b/specifications/iit-kharagpur/virtual-lab-on-mine-ventilation/e98875.json deleted file mode 100644 index 2b7b235..0000000 --- a/specifications/iit-kharagpur/virtual-lab-on-mine-ventilation/e98875.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "experiment": { - "id": "e98875", - "name": "Determination of Frictional Co-efficient of Mine Airways", - "discipline_id": "mine-engg", - "institute_id": "iitkgp", - "developers": [ - { - "name": "Prof. Debashish Chakravarty", - "email": "dc@mining.iitkgp.ernet.in" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlabs.iitkgp.ernet.in/mv/exp8/index.html" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Determination of Frictional Co-efficient of Mine Airways", - "assets": [], - "sections" : [ - "THEORY", - "INSTRUMENTS", - "VIDEO DEMO", - "PROCEDURE", - "SIMULATOR PROCEDURE", - "SIMULATOR", - "REFERENCE" - ] - } -} diff --git a/specifications/iit-kharagpur/virtual-lab-on-mine-ventilation/e98876.json b/specifications/iit-kharagpur/virtual-lab-on-mine-ventilation/e98876.json deleted file mode 100644 index 66c2224..0000000 --- a/specifications/iit-kharagpur/virtual-lab-on-mine-ventilation/e98876.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "experiment": { - "id": "e98876", - "name": "Determination of Shock Pressure Loss in Presence of Tub and Estimation of Drag coefficient", - "discipline_id": "mine-engg", - "institute_id": "iitkgp", - "developers": [ - { - "name": "Prof. Debashish Chakravarty", - "email": "dc@mining.iitkgp.ernet.in" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlabs.iitkgp.ernet.in/mv/exp7/index.html" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Determination of Shock Pressure Loss in Presence of Tub and Estimation of Drag coefficient", - "assets": [], - "sections" : [ - "THEORY", - "INSTRUMENTS", - "PROCEDURE", - "SIMULATOR PROCEDURE", - "SIMULATOR", - "REFERENCE" - ] - } -} diff --git a/specifications/iit-kharagpur/virtual-lab-on-mine-ventilation/e98877.json b/specifications/iit-kharagpur/virtual-lab-on-mine-ventilation/e98877.json deleted file mode 100644 index 5b66c84..0000000 --- a/specifications/iit-kharagpur/virtual-lab-on-mine-ventilation/e98877.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "experiment": { - "id": "e98877", - "name": "Establishment of the Relationship between Kata Cooling Power and Air Velocity", - "discipline_id": "mine-engg", - "institute_id": "iitkgp", - "developers": [ - { - "name": "Prof. Debashish Chakravarty", - "email": "dc@mining.iitkgp.ernet.in" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlabs.iitkgp.ernet.in/mv/exp6/index.html" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Establishment of the Relationship between Kata Cooling Power and Air Velocity", - "assets": [], - "sections" : [ - "THEORY", - "INSTRUMENTS", - "HOW IT WORKS", - "DEMO", - "PROCEDURE", - "SIMULATOR", - "REFERENCE" - ] - } -} diff --git a/specifications/iit-kharagpur/virtual-lab-on-mine-ventilation/e98878.json b/specifications/iit-kharagpur/virtual-lab-on-mine-ventilation/e98878.json deleted file mode 100644 index b5405aa..0000000 --- a/specifications/iit-kharagpur/virtual-lab-on-mine-ventilation/e98878.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "experiment": { - "id": "e98878", - "name": "Fan Rating Test.", - "discipline_id": "mine-engg", - "institute_id": "iitkgp", - "developers": [ - { - "name": "Prof. Debashish Chakravarty", - "email": "dc@mining.iitkgp.ernet.in" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlabs.iitkgp.ernet.in/mv/exp5/index.html" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Fan Rating Test.", - "assets": [], - "sections" : [ - "OBJECTIVE", - "THEORY", - "INSTRUMENTS", - "DEMO", - "PROCEDURE", - "SIMULATOR", - "REFERENCE" - ] - } -} diff --git a/specifications/iit-kharagpur/virtual-lab-on-mine-ventilation/e98879.json b/specifications/iit-kharagpur/virtual-lab-on-mine-ventilation/e98879.json deleted file mode 100644 index eed6450..0000000 --- a/specifications/iit-kharagpur/virtual-lab-on-mine-ventilation/e98879.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "experiment": { - "id": "e98879", - "name": "Calibration of orifice plates.", - "discipline_id": "mine-engg", - "institute_id": "iitkgp", - "developers": [ - { - "name": "Prof. Debashish Chakravarty", - "email": "dc@mining.iitkgp.ernet.in" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlabs.iitkgp.ernet.in/mv/exp4/index.html" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Calibration of orifice plates.", - "assets": [], - "sections" : [ - "THEORY", - "DEMO", - "PROCEDURE", - "SIMULATOR PROCEDURE", - "SIMULATOR", - "REFERENCE" - ] - } -} diff --git a/specifications/iit-kharagpur/virtual-lab-on-mine-ventilation/e98880.json b/specifications/iit-kharagpur/virtual-lab-on-mine-ventilation/e98880.json deleted file mode 100644 index bf0a197..0000000 --- a/specifications/iit-kharagpur/virtual-lab-on-mine-ventilation/e98880.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "experiment": { - "id": "e98880", - "name": "Determination of method factor of a duct.", - "discipline_id": "mine-engg", - "institute_id": "iitkgp", - "developers": [ - { - "name": "Prof. Debashish Chakravarty", - "email": "dc@mining.iitkgp.ernet.in" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlabs.iitkgp.ernet.in/mv/exp3/index.html" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Determination of method factor of a duct.", - "assets": [], - "sections" : [ - "OBJECTIVE", - "THEORY", - "DEMO", - "PROCEDURE", - "SIMULATOR PROCEDURE", - "SIMULATOR", - "REFERENCE" - ] - } -} diff --git a/specifications/iit-kharagpur/virtual-lab-on-mine-ventilation/e98881.json b/specifications/iit-kharagpur/virtual-lab-on-mine-ventilation/e98881.json deleted file mode 100644 index 616150b..0000000 --- a/specifications/iit-kharagpur/virtual-lab-on-mine-ventilation/e98881.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "experiment": { - "id": "e98881", - "name": "Calibration of Inclined Tube Manometer using Askania Minimeter.", - "discipline_id": "mine-engg", - "institute_id": "iitkgp", - "developers": [ - { - "name": "Prof. Debashish Chakravarty", - "email": "dc@mining.iitkgp.ernet.in" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlabs.iitkgp.ernet.in/mv/exp1/index.html" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Calibration of Inclined Tube Manometer using Askania Minimeter.", - "assets": [], - "sections" : [ - "THEORY", - "HOW IT WORKS", - "INSTRUMENTS", - "DEMO", - "PROCEDURE", - "SIMULATOR PROCEDURE", - "SIMULATOR", - "REFERENCE" - ] - } -} diff --git a/specifications/iit-kharagpur/virtual-lab-on-mine-ventilation/e98882.json b/specifications/iit-kharagpur/virtual-lab-on-mine-ventilation/e98882.json deleted file mode 100644 index deb8e0b..0000000 --- a/specifications/iit-kharagpur/virtual-lab-on-mine-ventilation/e98882.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "experiment": { - "id": "e98882", - "name": "Use of Assmann Psychrometer and estimation of Psychrometer properties.", - "discipline_id": "mine-engg", - "institute_id": "iitkgp", - "developers": [ - { - "name": "Prof. Debashish Chakravarty", - "email": "dc@mining.iitkgp.ernet.in" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlabs.iitkgp.ernet.in/mv/exp2/index.html" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Use of Assmann Psychrometer and estimation of Psychrometer properties.", - "assets": [], - "sections" : [ - "OBJECTIVE", - "THEORY", - "HOW IT WORKS", - "DEMO", - "PROCEDURE", - "SIMULATOR PROCEDURE", - "SIMULATOR", - "REFERENCE" - ] - } -} diff --git a/specifications/iit-kharagpur/virtual-lab-on-mine-ventilation/virtual-lab-on-mine-ventilation.json b/specifications/iit-kharagpur/virtual-lab-on-mine-ventilation/virtual-lab-on-mine-ventilation.json deleted file mode 100644 index e610769..0000000 --- a/specifications/iit-kharagpur/virtual-lab-on-mine-ventilation/virtual-lab-on-mine-ventilation.json +++ /dev/null @@ -1,43 +0,0 @@ -{ - "lab": { - "id": "VLS20", - "name": "virtual lab on mine ventilation", - "discipline_id": "mine-engg", - "institute_id": "iitkgp", - "developers": [ - { - "name": "Prof. Debashish Chakravarty", - "email": "dc@mining.iitkgp.ernet.in" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlabs.iitkgp.ernet.in/mv/" - } - ], - "integration_level": 4, - "overview": "This lab deals with virtual lab on mine ventilation", - "assets": [], - "sections": [ - { - "name": "Introduction" - }, - { - "experiments" : [ - "e98882", - "e98881", - "e98880", - "e98879", - "e98878", - "e98877", - "e98876", - "e98875", - "e98874", - "e98873" - ] - } - ] - } -} diff --git a/specifications/iit-kharagpur/virtual-lab-on-multiphase-flow/dump_json_to_lds.py b/specifications/iit-kharagpur/virtual-lab-on-multiphase-flow/dump_json_to_lds.py deleted file mode 100644 index 78c74fa..0000000 --- a/specifications/iit-kharagpur/virtual-lab-on-multiphase-flow/dump_json_to_lds.py +++ /dev/null @@ -1,44 +0,0 @@ - -import os -import os.path -import json -import requests -import glob - -URL= 'http://localhost:5000' -json_path_list = [] - -def post_lab_spec(file_path): - - with open(file_path) as json_file: - print file_path - data = json.load(json_file) - if 'lab' in data.keys(): - end_point = "/labs" - if 'experiment' in data.keys(): - end_point = "/experiments" - - data['key'] = 'defaultkey' - APP_URL = URL + end_point - headers = {'Content-Type': 'application/json'} - try: - response = requests.post(APP_URL, data = json.dumps(data), - headers=headers) - if response.status_code == 200: - print "Added json data : " + file_path - else: - print "Errore in adding json file " + file_path + " due to " + response.text - except Exception as e: - print str(e) -try: - exp_file_list = glob.glob(os.getcwd() + "/e9*.json") - lab_file_list = glob.glob(os.getcwd() + "/[!e9]*.json") - - for filename in exp_file_list: - json_path_list.append(filename) -except Exception as e: - print str(e) - -for file_path in json_path_list: - post_lab_spec(file_path) -post_lab_spec(lab_file_list[0]) diff --git a/specifications/iit-kharagpur/virtual-lab-on-multiphase-flow/virtual-lab-on-multiphase-flow.json b/specifications/iit-kharagpur/virtual-lab-on-multiphase-flow/virtual-lab-on-multiphase-flow.json deleted file mode 100644 index bb8fd5f..0000000 --- a/specifications/iit-kharagpur/virtual-lab-on-multiphase-flow/virtual-lab-on-multiphase-flow.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "lab": { - "id": "VLS19", - "name": "virtual lab on multiphase flow", - "discipline_id": "mech", - "institute_id": "iitkgp", - "developers": [ - { - "name": "Prof. P K Das", - "email": "pkd@mech.iitkgp.ernet.in" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlabs.iitkgp.ernet.in/mf/" - } - ], - "integration_level": 4, - "overview": "This lab deals with virtual lab on multiphase flow", - "assets": [], - "sections": [ - { - "name": "Introduction" - }, - { - "experiments" : [] - } - ] - } -} diff --git a/specifications/iit-kharagpur/virtual-laboratory-for-simulation-and-gaming/dump_json_to_lds.py b/specifications/iit-kharagpur/virtual-laboratory-for-simulation-and-gaming/dump_json_to_lds.py deleted file mode 100644 index 78c74fa..0000000 --- a/specifications/iit-kharagpur/virtual-laboratory-for-simulation-and-gaming/dump_json_to_lds.py +++ /dev/null @@ -1,44 +0,0 @@ - -import os -import os.path -import json -import requests -import glob - -URL= 'http://localhost:5000' -json_path_list = [] - -def post_lab_spec(file_path): - - with open(file_path) as json_file: - print file_path - data = json.load(json_file) - if 'lab' in data.keys(): - end_point = "/labs" - if 'experiment' in data.keys(): - end_point = "/experiments" - - data['key'] = 'defaultkey' - APP_URL = URL + end_point - headers = {'Content-Type': 'application/json'} - try: - response = requests.post(APP_URL, data = json.dumps(data), - headers=headers) - if response.status_code == 200: - print "Added json data : " + file_path - else: - print "Errore in adding json file " + file_path + " due to " + response.text - except Exception as e: - print str(e) -try: - exp_file_list = glob.glob(os.getcwd() + "/e9*.json") - lab_file_list = glob.glob(os.getcwd() + "/[!e9]*.json") - - for filename in exp_file_list: - json_path_list.append(filename) -except Exception as e: - print str(e) - -for file_path in json_path_list: - post_lab_spec(file_path) -post_lab_spec(lab_file_list[0]) diff --git a/specifications/iit-kharagpur/virtual-laboratory-for-simulation-and-gaming/e98883.json b/specifications/iit-kharagpur/virtual-laboratory-for-simulation-and-gaming/e98883.json deleted file mode 100644 index 370120f..0000000 --- a/specifications/iit-kharagpur/virtual-laboratory-for-simulation-and-gaming/e98883.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "experiment": { - "id": "e98883", - "name": "Supply Chain Risks", - "discipline_id": "is-engg", - "institute_id": "iitkgp", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlabs.iitkgp.ernet.in/gs/riskpooling_homepage.html" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Experiment-10 : Supply Chain Risks", - "assets": [], - "sections" : [ - "Home", - "Theory", - "Procedure", - "Simulator", - "Reference", - "Assignment", - "Self Evaluation", - "Feedback" - ] - } -} diff --git a/specifications/iit-kharagpur/virtual-laboratory-for-simulation-and-gaming/e98884.json b/specifications/iit-kharagpur/virtual-laboratory-for-simulation-and-gaming/e98884.json deleted file mode 100644 index b1d8549..0000000 --- a/specifications/iit-kharagpur/virtual-laboratory-for-simulation-and-gaming/e98884.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "experiment": { - "id": "e98884", - "name": "Limits to Growth System Archetype", - "discipline_id": "is-engg", - "institute_id": "iitkgp", - "developers": [ - { - "name": "Prof. Biswajit Mahanty", - "email": "bm@hijli.iitkgp.ernet.in" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlabs.iitkgp.ernet.in/gs/SystemArchetype_home.html" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Experiment-9 : Limits to Growth System Archetype", - "assets": [], - "sections" : [ - "Home", - "Theory", - "Procedure", - "Simulator", - "Reference", - "Assignment", - "Self Evaluation", - "Feedback" - ] - } -} diff --git a/specifications/iit-kharagpur/virtual-laboratory-for-simulation-and-gaming/e98885.json b/specifications/iit-kharagpur/virtual-laboratory-for-simulation-and-gaming/e98885.json deleted file mode 100644 index 24f4a9a..0000000 --- a/specifications/iit-kharagpur/virtual-laboratory-for-simulation-and-gaming/e98885.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "experiment": { - "id": "e98885", - "name": "Bullwhip effect in multi-echelon supply chain", - "discipline_id": "is-engg", - "institute_id": "iitkgp", - "developers": [ - { - "name": "Prof. Biswajit Mahanty", - "email": "bm@hijli.iitkgp.ernet.in" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlabs.iitkgp.ernet.in/gs/multi_echelon.html" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Experiment-8 : Bullwhip effect in multi-echelon supply chain", - "assets": [], - "sections" : [ - "Home", - "Theory", - "Procedure", - "Simulator", - "Reference", - "Assignment", - "Self Evaluation", - "Feedback" - ] - } -} diff --git a/specifications/iit-kharagpur/virtual-laboratory-for-simulation-and-gaming/e98886.json b/specifications/iit-kharagpur/virtual-laboratory-for-simulation-and-gaming/e98886.json deleted file mode 100644 index d350de3..0000000 --- a/specifications/iit-kharagpur/virtual-laboratory-for-simulation-and-gaming/e98886.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "experiment": { - "id": "e98886", - "name": "Supply Chain Coordination", - "discipline_id": "is-engg", - "institute_id": "iitkgp", - "developers": [ - { - "name": "Prof. Biswajit Mahanty", - "email": "bm@hijli.iitkgp.ernet.in" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlabs.iitkgp.ernet.in/gs/supplychain_homepage.html" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Experiment-7 : Supply Chain Coordination", - "assets": [], - "sections" : [ - "Home", - "Theory", - "Procedure", - "Simulator", - "Reference", - "Assignment", - "Self Evaluation", - "Feedback" - ] - } -} diff --git a/specifications/iit-kharagpur/virtual-laboratory-for-simulation-and-gaming/e98887.json b/specifications/iit-kharagpur/virtual-laboratory-for-simulation-and-gaming/e98887.json deleted file mode 100644 index e43a1ab..0000000 --- a/specifications/iit-kharagpur/virtual-laboratory-for-simulation-and-gaming/e98887.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "experiment": { - "id": "e98887", - "name": "Inventory Decisions", - "discipline_id": "is-engg", - "institute_id": "iitkgp", - "developers": [ - { - "name": "Prof. Biswajit Mahanty", - "email": "bm@hijli.iitkgp.ernet.in" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlabs.iitkgp.ernet.in/gs/homepage.html" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Experiment-6 : Inventory Decisions", - "assets": [], - "sections" : [ - "Home", - "Theory", - "Procedure", - "Simulator", - "Reference", - "Assignment", - "Self Evaluation", - "Feedback" - ] - } -} diff --git a/specifications/iit-kharagpur/virtual-laboratory-for-simulation-and-gaming/e98888.json b/specifications/iit-kharagpur/virtual-laboratory-for-simulation-and-gaming/e98888.json deleted file mode 100644 index d432a89..0000000 --- a/specifications/iit-kharagpur/virtual-laboratory-for-simulation-and-gaming/e98888.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "experiment": { - "id": "e98888", - "name": "Organizational Procurement", - "discipline_id": "is-engg", - "institute_id": "iitkgp", - "developers": [ - { - "name": "Prof. Biswajit Mahanty", - "email": "bm@hijli.iitkgp.ernet.in" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlabs.iitkgp.ernet.in/gs/orgprocurement_homepage.html" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Experiment-5 : Organizational Procurement", - "assets": [], - "sections" : [ - "Home", - "Theory", - "Procedure", - "Simulator", - "Reference", - "Assignment", - "Self Evaluation", - "Feedback" - ] - } -} diff --git a/specifications/iit-kharagpur/virtual-laboratory-for-simulation-and-gaming/e98889.json b/specifications/iit-kharagpur/virtual-laboratory-for-simulation-and-gaming/e98889.json deleted file mode 100644 index 6a43f8a..0000000 --- a/specifications/iit-kharagpur/virtual-laboratory-for-simulation-and-gaming/e98889.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "experiment": { - "id": "e98889", - "name": "Production Distribution", - "discipline_id": "is-engg", - "institute_id": "iitkgp", - "developers": [ - { - "name": "Prof. Biswajit Mahanty", - "email": "bm@hijli.iitkgp.ernet.in" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlabs.iitkgp.ernet.in/gs/Production_Distribution.html" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Experiment-4 : Production Distribution", - "assets": [], - "sections" : [ - "Home", - "Theory", - "Procedure", - "Simulator", - "Reference", - "Assignment", - "Self Evaluation", - "Feedback" - ] - } -} diff --git a/specifications/iit-kharagpur/virtual-laboratory-for-simulation-and-gaming/e98890.json b/specifications/iit-kharagpur/virtual-laboratory-for-simulation-and-gaming/e98890.json deleted file mode 100644 index e3744ca..0000000 --- a/specifications/iit-kharagpur/virtual-laboratory-for-simulation-and-gaming/e98890.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "experiment": { - "id": "e98890", - "name": "Project Investment", - "discipline_id": "is-engg", - "institute_id": "iitkgp", - "developers": [ - { - "name": "Prof. Biswajit Mahanty", - "email": "bm@hijli.iitkgp.ernet.in" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlabs.iitkgp.ernet.in/gs/Project_Investment.html" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Experiment-3 : Project Investment", - "assets": [], - "sections" : [ - "Home", - "Theory", - "Procedure", - "Simulator", - "Reference", - "Assignment", - "Self Evaluation", - "Feedback" - ] - } -} diff --git a/specifications/iit-kharagpur/virtual-laboratory-for-simulation-and-gaming/e98891.json b/specifications/iit-kharagpur/virtual-laboratory-for-simulation-and-gaming/e98891.json deleted file mode 100644 index ce11d5e..0000000 --- a/specifications/iit-kharagpur/virtual-laboratory-for-simulation-and-gaming/e98891.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "experiment": { - "id": "e98891", - "name": "Simulation of Auction Markets", - "discipline_id": "is-engg", - "institute_id": "iitkgp", - "developers": [ - { - "name": "Prof. Biswajit Mahanty", - "email": "bm@hijli.iitkgp.ernet.in" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlabs.iitkgp.ernet.in/gs/auction_homepage.html" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Experiment-2 : Simulation of Auction Markets", - "assets": [], - "sections" : [ - "Home", - "Theory", - "Procedure", - "Simulator", - "Reference", - "Assignment", - "Self Evaluation", - "Feedback" - ] - } -} diff --git a/specifications/iit-kharagpur/virtual-laboratory-for-simulation-and-gaming/e98892.json b/specifications/iit-kharagpur/virtual-laboratory-for-simulation-and-gaming/e98892.json deleted file mode 100644 index b296df6..0000000 --- a/specifications/iit-kharagpur/virtual-laboratory-for-simulation-and-gaming/e98892.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "experiment": { - "id": "e98892", - "name": "Dynamics of quality fluctuations", - "discipline_id": "is-engg", - "institute_id": "iitkgp", - "developers": [ - { - "name": "Prof. Biswajit Mahanty", - "email": "bm@hijli.iitkgp.ernet.in" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlabs.iitkgp.ernet.in/gs/quality_fluctuations.html" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Experiment-1 : Dynamics of quality fluctuations", - "assets": [], - "sections" : [ - "Home", - "Theory", - "Procedure", - "Simulator", - "Reference", - "Assignment", - "Self Evaluation", - "Feedback" - ] - } -} diff --git a/specifications/iit-kharagpur/virtual-laboratory-for-simulation-and-gaming/virtual-laboratory-for-simulation-and-gaming-.json b/specifications/iit-kharagpur/virtual-laboratory-for-simulation-and-gaming/virtual-laboratory-for-simulation-and-gaming-.json deleted file mode 100644 index e71d854..0000000 --- a/specifications/iit-kharagpur/virtual-laboratory-for-simulation-and-gaming/virtual-laboratory-for-simulation-and-gaming-.json +++ /dev/null @@ -1,44 +0,0 @@ -{ - "lab": { - "id": "VLS21", - "name": "virtual laboratory for simulation and gaming ", - "discipline_id": "is-engg", - "institute_id": "iitkgp", - "developers": [ - { - "name": "Prof. Biswajit Mahanty", - "email": "bm@hijli.iitkgp.ernet.in" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlabs.iitkgp.ernet.in/gs/" - } - ], - "integration_level": 4, - "overview": "This lab deals with virtual laboratory for simulation and gaming ", - "assets": [], - "sections": [ - { - "name": "Introduction" - }, - { - "experiments" : [ - "e98892", - "e98891", - "e98890", - "e98889", - "e98889", - "e98888", - "e98887", - "e98886", - "e98885", - "e98884", - "e98883" - ] - } - ] - } -} diff --git a/specifications/iit-kharagpur/virtual-pulse,-switching-and-analogue-circuits-lab/dump_json_to_lds.py b/specifications/iit-kharagpur/virtual-pulse,-switching-and-analogue-circuits-lab/dump_json_to_lds.py deleted file mode 100644 index 78c74fa..0000000 --- a/specifications/iit-kharagpur/virtual-pulse,-switching-and-analogue-circuits-lab/dump_json_to_lds.py +++ /dev/null @@ -1,44 +0,0 @@ - -import os -import os.path -import json -import requests -import glob - -URL= 'http://localhost:5000' -json_path_list = [] - -def post_lab_spec(file_path): - - with open(file_path) as json_file: - print file_path - data = json.load(json_file) - if 'lab' in data.keys(): - end_point = "/labs" - if 'experiment' in data.keys(): - end_point = "/experiments" - - data['key'] = 'defaultkey' - APP_URL = URL + end_point - headers = {'Content-Type': 'application/json'} - try: - response = requests.post(APP_URL, data = json.dumps(data), - headers=headers) - if response.status_code == 200: - print "Added json data : " + file_path - else: - print "Errore in adding json file " + file_path + " due to " + response.text - except Exception as e: - print str(e) -try: - exp_file_list = glob.glob(os.getcwd() + "/e9*.json") - lab_file_list = glob.glob(os.getcwd() + "/[!e9]*.json") - - for filename in exp_file_list: - json_path_list.append(filename) -except Exception as e: - print str(e) - -for file_path in json_path_list: - post_lab_spec(file_path) -post_lab_spec(lab_file_list[0]) diff --git a/specifications/iit-kharagpur/virtual-pulse,-switching-and-analogue-circuits-lab/e99005.json b/specifications/iit-kharagpur/virtual-pulse,-switching-and-analogue-circuits-lab/e99005.json deleted file mode 100644 index 707a331..0000000 --- a/specifications/iit-kharagpur/virtual-pulse,-switching-and-analogue-circuits-lab/e99005.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "experiment": { - "id": "e99005", - "name": "BJT as Switch and Load Lines", - "discipline_id": "ece", - "institute_id": "iitkgp", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlabs.iitkgp.ernet.in/psac/exp3/index.html" - } - ], - "integration_level": 4, - "overview": "This experiments deals with BJT as Switch and Load Lines", - "assets": [], - "sections" : [ - "Theory", - "Procedure", - "Simulation", - "Quiz", - "References" - ] - } -} diff --git a/specifications/iit-kharagpur/virtual-pulse,-switching-and-analogue-circuits-lab/e99006.json b/specifications/iit-kharagpur/virtual-pulse,-switching-and-analogue-circuits-lab/e99006.json deleted file mode 100644 index fcc5402..0000000 --- a/specifications/iit-kharagpur/virtual-pulse,-switching-and-analogue-circuits-lab/e99006.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "experiment": { - "id": "e99006", - "name": "Diodes as Clippers", - "discipline_id": "ece", - "institute_id": "iitkgp", - "developers": [ - { - "name": "Prof. Anup K. Ray", - "email": "akray@cet.iitkgp.ernet.in" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlabs.iitkgp.ernet.in/psac/exp2/index.html" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Diodes as Clippers", - "assets": [], - "sections" : [ - "Theory", - "Procedure", - "Simulation", - "Quiz", - "References" - ] - } -} diff --git a/specifications/iit-kharagpur/virtual-pulse,-switching-and-analogue-circuits-lab/e99007.json b/specifications/iit-kharagpur/virtual-pulse,-switching-and-analogue-circuits-lab/e99007.json deleted file mode 100644 index 418ec41..0000000 --- a/specifications/iit-kharagpur/virtual-pulse,-switching-and-analogue-circuits-lab/e99007.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "experiment": { - "id": "e99007", - "name": "Diodes as Clampers", - "discipline_id": "ece", - "institute_id": "iitkgp", - "developers": [ - { - "name": "Prof. Anup K. Ray", - "email": "akray@cet.iitkgp.ernet.in" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlabs.iitkgp.ernet.in/psac/exp1/index.html" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Diodes as Clampers", - "assets": [], - "sections" : [ - "Theory", - "Procedure", - "Simulation", - "Quiz", - "References" - ] - } -} diff --git a/specifications/iit-kharagpur/virtual-pulse,-switching-and-analogue-circuits-lab/virtual-pulse,-switching-and-analogue-circuits-lab.json b/specifications/iit-kharagpur/virtual-pulse,-switching-and-analogue-circuits-lab/virtual-pulse,-switching-and-analogue-circuits-lab.json deleted file mode 100644 index 0e4833c..0000000 --- a/specifications/iit-kharagpur/virtual-pulse,-switching-and-analogue-circuits-lab/virtual-pulse,-switching-and-analogue-circuits-lab.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "lab": { - "id": "VLS03", - "name": "virtual pulse, switching and analogue circuits lab", - "discipline_id": "ece", - "institute_id": "iitkgp", - "developers": [ - { - "name": "Prof. Anup K. Ray", - "email": "akray@cet.iitkgp.ernet.in" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://vlabs.iitkgp.ernet.in/psac/" - } - ], - "integration_level": 4, - "overview": "This lab deals with virtual pulse, switching and analogue circuits lab", - "assets": [], - "sections": [ - { - "name": "Introduction" - }, - { - "experiments" : [ - "e99007", - "e99006", - "e99005" - ] - } - ] - } -} diff --git a/specifications/nit-surathkal/fluid-machinery-lab/E98519.json b/specifications/nit-surathkal/fluid-machinery-lab/E98519.json deleted file mode 100644 index d4c368a..0000000 --- a/specifications/nit-surathkal/fluid-machinery-lab/E98519.json +++ /dev/null @@ -1,21 +0,0 @@ -{"experiment": {"id": "e98519", - "name": "Double Acting Reciprocating Pump", - "discipline_id": "civil", - "institute_id": "NITK Surathkal", - "developers": [{"name":"dev1", "email": "dev1_id"}, - {"name":"dev2", "email": "dev2_id"}], - "hosting_info": [{"hosting_status": "hosted", "hosted_on": "cloud", "hosted_url": "http://fmc-nitk.vlabs.ac.in/exp8/index.html"}], - "integration_level": "4", - "assets": [{"asset_type": "images", "path": "vlabs.ac.in/images/static/logo.png"}, - {"asset_type": "videos", "path": "vlabs.ac.in/video/abc.mkv"}], - "sections" : ["THEORY", - "PROCEDURE", - "SELF EVALUATION", - "SIMULATOR", - "ASSIGNMENT", - "QUIZ", - "VIDEOS", - "REFERENCES", - "FEEDBACK"] - } -} diff --git a/specifications/nit-surathkal/fluid-machinery-lab/dump_json_to_lds.py b/specifications/nit-surathkal/fluid-machinery-lab/dump_json_to_lds.py deleted file mode 100644 index 78c74fa..0000000 --- a/specifications/nit-surathkal/fluid-machinery-lab/dump_json_to_lds.py +++ /dev/null @@ -1,44 +0,0 @@ - -import os -import os.path -import json -import requests -import glob - -URL= 'http://localhost:5000' -json_path_list = [] - -def post_lab_spec(file_path): - - with open(file_path) as json_file: - print file_path - data = json.load(json_file) - if 'lab' in data.keys(): - end_point = "/labs" - if 'experiment' in data.keys(): - end_point = "/experiments" - - data['key'] = 'defaultkey' - APP_URL = URL + end_point - headers = {'Content-Type': 'application/json'} - try: - response = requests.post(APP_URL, data = json.dumps(data), - headers=headers) - if response.status_code == 200: - print "Added json data : " + file_path - else: - print "Errore in adding json file " + file_path + " due to " + response.text - except Exception as e: - print str(e) -try: - exp_file_list = glob.glob(os.getcwd() + "/e9*.json") - lab_file_list = glob.glob(os.getcwd() + "/[!e9]*.json") - - for filename in exp_file_list: - json_path_list.append(filename) -except Exception as e: - print str(e) - -for file_path in json_path_list: - post_lab_spec(file_path) -post_lab_spec(lab_file_list[0]) diff --git a/specifications/nit-surathkal/fluid-machinery-lab/e98519.json b/specifications/nit-surathkal/fluid-machinery-lab/e98519.json deleted file mode 100644 index 82c8dff..0000000 --- a/specifications/nit-surathkal/fluid-machinery-lab/e98519.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "experiment": { - "id": "e98519", - "name": "Double Acting Reciprocating Pump", - "discipline_id": "civil", - "institute_id": "nitk", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "cloud", - "hosted_url": "http://fmc-nitk.vlabs.ac.in/exp8/index.html" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Double Acting Reciprocating Pump", - "assets": [], - "sections" : [ - "THEORY", - "PROCEDURE", - "SELF EVALUATION", - "SIMULATOR", - "ASSIGNMENT", - "QUIZ", - "VIDEOS", - "REFERENCES", - "FEEDBACK" - ] - } -} diff --git a/specifications/nit-surathkal/fluid-machinery-lab/e98520.json b/specifications/nit-surathkal/fluid-machinery-lab/e98520.json deleted file mode 100644 index a4296fd..0000000 --- a/specifications/nit-surathkal/fluid-machinery-lab/e98520.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "experiment": { - "id": "e98520", - "name": "Pelton Turbine Constant Speed", - "discipline_id": "civil", - "institute_id": "nitk", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "cloud", - "hosted_url": "http://fmc-nitk.vlabs.ac.in/exp6/index.html" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Pelton Turbine Constant Speed", - "assets": [], - "sections" : [ - "THEORY", - "PROCEDURE", - "SELF EVALUATION", - "SIMULATOR", - "ASSIGNMENT", - "QUIZ", - "VIDEOS", - "REFERENCES", - "FEEDBACK" - ] - } -} diff --git a/specifications/nit-surathkal/fluid-machinery-lab/e98521.json b/specifications/nit-surathkal/fluid-machinery-lab/e98521.json deleted file mode 100644 index 1f3ed46..0000000 --- a/specifications/nit-surathkal/fluid-machinery-lab/e98521.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "experiment": { - "id": "e98521", - "name": "Pelton Turbine Constant Head", - "discipline_id": "civil", - "institute_id": "nitk", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "cloud", - "hosted_url": "http://fmc-nitk.vlabs.ac.in/exp5/index.html" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Pelton Turbine Constant Head", - "assets": [], - "sections" : [ - "THEORY", - "PROCEDURE", - "SELF EVALUATION", - "SIMULATOR", - "ASSIGNMENT", - "QUIZ", - "VIDEOS", - "REFERENCES", - "FEEDBACK" - ] - } -} diff --git a/specifications/nit-surathkal/fluid-machinery-lab/e98522.json b/specifications/nit-surathkal/fluid-machinery-lab/e98522.json deleted file mode 100644 index 2b1e490..0000000 --- a/specifications/nit-surathkal/fluid-machinery-lab/e98522.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "experiment": { - "id": "e98522", - "name": "Kaplan Turbine", - "discipline_id": "civil", - "institute_id": "nitk", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "cloud", - "hosted_url": "http://fmc-nitk.vlabs.ac.in/exp4/index.html" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Kaplan Turbine", - "assets": [], - "sections" : [ - "THEORY", - "PROCEDURE", - "SELF EVALUATION", - "SIMULATOR", - "ASSIGNMENT", - "QUIZ", - "VIDEOS", - "REFERENCES", - "FEEDBACK" - ] - } -} diff --git a/specifications/nit-surathkal/fluid-machinery-lab/e98523.json b/specifications/nit-surathkal/fluid-machinery-lab/e98523.json deleted file mode 100644 index b43801f..0000000 --- a/specifications/nit-surathkal/fluid-machinery-lab/e98523.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "experiment": { - "id": "e98523", - "name": "Hydraulic Ram", - "discipline_id": "civil", - "institute_id": "nitk", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "cloud", - "hosted_url": "http://fmc-nitk.vlabs.ac.in/exp3/index.html" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Hydraulic Ram", - "assets": [], - "sections" : [ - "THEORY", - "PROCEDURE", - "SELF EVALUATION", - "SIMULATOR", - "ASSIGNMENT", - "QUIZ", - "VIDEOS", - "REFERENCES", - "FEEDBACK" - ] - } -} diff --git a/specifications/nit-surathkal/fluid-machinery-lab/e98524.json b/specifications/nit-surathkal/fluid-machinery-lab/e98524.json deleted file mode 100644 index bd17847..0000000 --- a/specifications/nit-surathkal/fluid-machinery-lab/e98524.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "experiment": { - "id": "e98524", - "name": "Francis Turbine Constant Speed", - "discipline_id": "civil", - "institute_id": "nitk", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "cloud", - "hosted_url": "http://fmc-nitk.vlabs.ac.in/exp2/index.html" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Francis Turbine Constant Speed", - "assets": [], - "sections" : [ - "THEORY", - "PROCEDURE", - "SELF EVALUATION", - "SIMULATOR", - "ASSIGNMENT", - "QUIZ", - "VIDEOS", - "REFERENCES", - "FEEDBACK" - ] - } -} diff --git a/specifications/nit-surathkal/fluid-machinery-lab/e98525.json b/specifications/nit-surathkal/fluid-machinery-lab/e98525.json deleted file mode 100644 index 2babba2..0000000 --- a/specifications/nit-surathkal/fluid-machinery-lab/e98525.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "experiment": { - "id": "e98525", - "name": "Francis Turbine Constant Head", - "discipline_id": "civil", - "institute_id": "nitk", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "cloud", - "hosted_url": "http://fmc-nitk.vlabs.ac.in/exp1/index.html" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Francis Turbine Constant Head", - "assets": [], - "sections" : [ - "THEORY", - "PROCEDURE", - "SELF EVALUATION", - "SIMULATOR", - "ASSIGNMENT", - "QUIZ", - "VIDEOS", - "REFERENCES", - "FEEDBACK" - ] - } -} diff --git a/specifications/nit-surathkal/fluid-machinery-lab/e99058.json b/specifications/nit-surathkal/fluid-machinery-lab/e99058.json deleted file mode 100644 index b6160bd..0000000 --- a/specifications/nit-surathkal/fluid-machinery-lab/e99058.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "experiment": { - "id": "e99058", - "name": "Centrifugal Pump", - "discipline_id": "civil", - "institute_id": "nitk", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "cloud", - "hosted_url": "http://fmc-nitk.vlabs.ac.in/exp7/index.html" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Centrifugal Pump", - "assets": [], - "sections" : [ - "THEORY", - "PROCEDURE", - "SELF EVALUATION", - "SIMULATOR", - "ASSIGNMENT", - "QUIZ", - "VIDEOS", - "REFERENCES", - "FEEDBACK" - ] - } -} diff --git a/specifications/nit-surathkal/fluid-machinery-lab/fluid-machinery-lab.json b/specifications/nit-surathkal/fluid-machinery-lab/fluid-machinery-lab.json deleted file mode 100644 index 07926fd..0000000 --- a/specifications/nit-surathkal/fluid-machinery-lab/fluid-machinery-lab.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "lab": { - "id": "civil20", - "name": "fluid machinery lab", - "discipline_id": "civil", - "institute_id": "nitk", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "cloud", - "hosted_url": "http://fmc-nitk.vlabs.ac.in/" - } - ], - "integration_level": 4, - "overview": "This lab deals with fluid machinery lab", - "assets": [], - "sections": [ - { - "name": "Introduction" - }, - { - "experiments" : [ - "e98525", - "e98524", - "e98523", - "e98522", - "e98521", - "e98520", - "e99058", - "e98519" - ] - } - ] - } -} diff --git a/specifications/nit-surathkal/remote-triggered-vibration-lab/dump_json_to_lds.py b/specifications/nit-surathkal/remote-triggered-vibration-lab/dump_json_to_lds.py deleted file mode 100644 index 78c74fa..0000000 --- a/specifications/nit-surathkal/remote-triggered-vibration-lab/dump_json_to_lds.py +++ /dev/null @@ -1,44 +0,0 @@ - -import os -import os.path -import json -import requests -import glob - -URL= 'http://localhost:5000' -json_path_list = [] - -def post_lab_spec(file_path): - - with open(file_path) as json_file: - print file_path - data = json.load(json_file) - if 'lab' in data.keys(): - end_point = "/labs" - if 'experiment' in data.keys(): - end_point = "/experiments" - - data['key'] = 'defaultkey' - APP_URL = URL + end_point - headers = {'Content-Type': 'application/json'} - try: - response = requests.post(APP_URL, data = json.dumps(data), - headers=headers) - if response.status_code == 200: - print "Added json data : " + file_path - else: - print "Errore in adding json file " + file_path + " due to " + response.text - except Exception as e: - print str(e) -try: - exp_file_list = glob.glob(os.getcwd() + "/e9*.json") - lab_file_list = glob.glob(os.getcwd() + "/[!e9]*.json") - - for filename in exp_file_list: - json_path_list.append(filename) -except Exception as e: - print str(e) - -for file_path in json_path_list: - post_lab_spec(file_path) -post_lab_spec(lab_file_list[0]) diff --git a/specifications/nit-surathkal/remote-triggered-vibration-lab/e98526.json b/specifications/nit-surathkal/remote-triggered-vibration-lab/e98526.json deleted file mode 100644 index cd33ddc..0000000 --- a/specifications/nit-surathkal/remote-triggered-vibration-lab/e98526.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "experiment": { - "id": "e98526", - "name": "Tuned Mass Damper", - "discipline_id": "mech", - "institute_id": "nitk", - "developers": [], - "hosting_info": [], - "integration_level": 4, - "overview": "This experiments deals with Tuned Mass Damper", - "assets": [], - "sections" : [] - } -} diff --git a/specifications/nit-surathkal/remote-triggered-vibration-lab/e98527.json b/specifications/nit-surathkal/remote-triggered-vibration-lab/e98527.json deleted file mode 100644 index e188627..0000000 --- a/specifications/nit-surathkal/remote-triggered-vibration-lab/e98527.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "experiment": { - "id": "e98527", - "name": "Two Degree of Freedom System", - "discipline_id": "mech", - "institute_id": "nitk", - "developers": [], - "hosting_info": [], - "integration_level": 4, - "overview": "This experiments deals with Two Degree of Freedom System", - "assets": [], - "sections" : [] - } -} diff --git a/specifications/nit-surathkal/remote-triggered-vibration-lab/e98528.json b/specifications/nit-surathkal/remote-triggered-vibration-lab/e98528.json deleted file mode 100644 index cb773c1..0000000 --- a/specifications/nit-surathkal/remote-triggered-vibration-lab/e98528.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "experiment": { - "id": "e98528", - "name": "Transmissibility Ratio", - "discipline_id": "mech", - "institute_id": "nitk", - "developers": [], - "hosting_info": [], - "integration_level": 4, - "overview": "This experiments deals with Transmissibility Ratio", - "assets": [], - "sections" : [] - } -} diff --git a/specifications/nit-surathkal/remote-triggered-vibration-lab/e98529.json b/specifications/nit-surathkal/remote-triggered-vibration-lab/e98529.json deleted file mode 100644 index f4d2eae..0000000 --- a/specifications/nit-surathkal/remote-triggered-vibration-lab/e98529.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "experiment": { - "id": "e98529", - "name": "Reconfigurable simple pendulum", - "discipline_id": "mech", - "institute_id": "nitk", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://rtlabs.nitk.ac.in/article/reconfigurable-simple-pendulum" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Reconfigurable simple pendulum", - "assets": [], - "sections" : [ - "Theory", - "Procedure", - "Self Evaluation", - "Remote Trigger", - "Assignments", - "Reference", - "Video", - "Quiz" - ] - } -} diff --git a/specifications/nit-surathkal/remote-triggered-vibration-lab/e98530.json b/specifications/nit-surathkal/remote-triggered-vibration-lab/e98530.json deleted file mode 100644 index 4d25a95..0000000 --- a/specifications/nit-surathkal/remote-triggered-vibration-lab/e98530.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "experiment": { - "id": "e98530", - "name": "Reconfigurable cantilever beam", - "discipline_id": "mech", - "institute_id": "nitk", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://rtlabs.nitk.ac.in/article/reconfigurable-cantilever-beam" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Reconfigurable cantilever beam", - "assets": [], - "sections" : [ - "Theory", - "Procedure", - "Self Evaluation", - "Remote Trigger", - "Assignments", - "Reference", - "Video", - "Quiz" - ] - } -} diff --git a/specifications/nit-surathkal/remote-triggered-vibration-lab/e98531.json b/specifications/nit-surathkal/remote-triggered-vibration-lab/e98531.json deleted file mode 100644 index 2150e70..0000000 --- a/specifications/nit-surathkal/remote-triggered-vibration-lab/e98531.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "experiment": { - "id": "e98531", - "name": "Forced vibration of cantilever beam (Motor with unbalance)", - "discipline_id": "mech", - "institute_id": "nitk", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://rtlabs.nitk.ac.in/article/forced-vibration-cantilever-beam-motor-unbalance" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Forced vibration of cantilever beam (Motor with unbalance)", - "assets": [], - "sections" : [ - "Theory", - "Procedure", - "Self Evaluation", - "Remote Trigger", - "Assignments", - "Reference", - "Video", - "Quiz" - ] - } -} diff --git a/specifications/nit-surathkal/remote-triggered-vibration-lab/e98532.json b/specifications/nit-surathkal/remote-triggered-vibration-lab/e98532.json deleted file mode 100644 index f9231ba..0000000 --- a/specifications/nit-surathkal/remote-triggered-vibration-lab/e98532.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "experiment": { - "id": "e98532", - "name": "Forced vibration of cantilever beam (PZT actuation)", - "discipline_id": "mech", - "institute_id": "nitk", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://rtlabs.nitk.ac.in/article/forced-vibration-cantilever-beam-pzt-actuation" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Forced vibration of cantilever beam (PZT actuation)", - "assets": [], - "sections" : [ - "Theory", - "Procedure", - "Self Evaluation", - "Remote Trigger", - "Assignments", - "Reference", - "Video", - "Quiz" - ] - } -} diff --git a/specifications/nit-surathkal/remote-triggered-vibration-lab/e98533.json b/specifications/nit-surathkal/remote-triggered-vibration-lab/e98533.json deleted file mode 100644 index 44535b7..0000000 --- a/specifications/nit-surathkal/remote-triggered-vibration-lab/e98533.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "experiment": { - "id": "e98533", - "name": "Free vibration of fixed fixed beam", - "discipline_id": "mech", - "institute_id": "nitk", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://rtlabs.nitk.ac.in/article/free-vibration-fixed-fixed-beam" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Free vibration of fixed fixed beam", - "assets": [], - "sections" : [ - "Theory", - "Procedure", - "Self Evaluation", - "Remote Trigger", - "Assignments", - "Reference", - "Video", - "Quiz" - ] - } -} diff --git a/specifications/nit-surathkal/remote-triggered-vibration-lab/e98534.json b/specifications/nit-surathkal/remote-triggered-vibration-lab/e98534.json deleted file mode 100644 index a485260..0000000 --- a/specifications/nit-surathkal/remote-triggered-vibration-lab/e98534.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "experiment": { - "id": "e98534", - "name": "Free Vibration of Simply Supported Beam", - "discipline_id": "mech", - "institute_id": "nitk", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://rtlabs.nitk.ac.in/article/free-vibration-simply-supported-beam" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Free Vibration of Simply Supported Beam", - "assets": [], - "sections" : [ - "Theory", - "Procedure", - "Self Evaluation", - "Remote Trigger", - "Assignments", - "Reference", - "Video", - "Quiz" - ] - } -} diff --git a/specifications/nit-surathkal/remote-triggered-vibration-lab/e98535.json b/specifications/nit-surathkal/remote-triggered-vibration-lab/e98535.json deleted file mode 100644 index ddbca31..0000000 --- a/specifications/nit-surathkal/remote-triggered-vibration-lab/e98535.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "experiment": { - "id": "e98535", - "name": "Free Vibration of Cantilever Beam", - "discipline_id": "mech", - "institute_id": "nitk", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://rtlabs.nitk.ac.in/article/free-vibration-cantilever-beam" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Free Vibration of Cantilever Beam", - "assets": [], - "sections" : [ - "Theory", - "Procedure", - "Self Evaluation", - "Remote Trigger", - "Assignments", - "Reference", - "Video", - "Quiz" - ] - } -} diff --git a/specifications/nit-surathkal/remote-triggered-vibration-lab/remote-triggered-vibration-lab.json b/specifications/nit-surathkal/remote-triggered-vibration-lab/remote-triggered-vibration-lab.json deleted file mode 100644 index d611208..0000000 --- a/specifications/nit-surathkal/remote-triggered-vibration-lab/remote-triggered-vibration-lab.json +++ /dev/null @@ -1,38 +0,0 @@ -{ - "lab": { - "id": "rtv15", - "name": "remote triggered vibration lab", - "discipline_id": "mech", - "institute_id": "nitk", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "institute", - "hosted_url": "http://rtlabs.nitk.ac.in/?q=page/vibration-lab" - } - ], - "integration_level": 4, - "overview": "This lab deals with remote triggered vibration lab", - "assets": [], - "sections": [ - { - "name": "Introduction" - }, - { - "experiments" : [ - "e98535", - "e98534", - "e98533", - "e98532", - "e98531", - "e98530", - "e98529", - "e98528", - "e98527", - "e98526" - ] - } - ] - } -} diff --git a/specifications/nit-surathkal/unit-operation,-reaction-engg.-&-process-control/dump_json_to_lds.py b/specifications/nit-surathkal/unit-operation,-reaction-engg.-&-process-control/dump_json_to_lds.py deleted file mode 100644 index 78c74fa..0000000 --- a/specifications/nit-surathkal/unit-operation,-reaction-engg.-&-process-control/dump_json_to_lds.py +++ /dev/null @@ -1,44 +0,0 @@ - -import os -import os.path -import json -import requests -import glob - -URL= 'http://localhost:5000' -json_path_list = [] - -def post_lab_spec(file_path): - - with open(file_path) as json_file: - print file_path - data = json.load(json_file) - if 'lab' in data.keys(): - end_point = "/labs" - if 'experiment' in data.keys(): - end_point = "/experiments" - - data['key'] = 'defaultkey' - APP_URL = URL + end_point - headers = {'Content-Type': 'application/json'} - try: - response = requests.post(APP_URL, data = json.dumps(data), - headers=headers) - if response.status_code == 200: - print "Added json data : " + file_path - else: - print "Errore in adding json file " + file_path + " due to " + response.text - except Exception as e: - print str(e) -try: - exp_file_list = glob.glob(os.getcwd() + "/e9*.json") - lab_file_list = glob.glob(os.getcwd() + "/[!e9]*.json") - - for filename in exp_file_list: - json_path_list.append(filename) -except Exception as e: - print str(e) - -for file_path in json_path_list: - post_lab_spec(file_path) -post_lab_spec(lab_file_list[0]) diff --git a/specifications/nit-surathkal/unit-operation,-reaction-engg.-&-process-control/e99160.json b/specifications/nit-surathkal/unit-operation,-reaction-engg.-&-process-control/e99160.json deleted file mode 100644 index 4e1466b..0000000 --- a/specifications/nit-surathkal/unit-operation,-reaction-engg.-&-process-control/e99160.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "experiment": { - "id": "e99160", - "name": "Reaction kinetic studies in a plug flow reactor:", - "discipline_id": "chem-engg", - "institute_id": "nitk", - "developers": [], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "cloud", - "hosted_url": "http://uorepc-nitk.vlabs.ac.in/exp9/index.html" - }, - { - "hosting_status": "hosted", - "hosted_on": "openedx", - "hosted_url": "http://uorepc-nitk.vlabs.ac.in/exp9/index.html" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Reaction kinetic studies in a plug flow reactor:", - "assets": [], - "sections" : [ - "THEORY", - "PROCEDURE", - "SELF EVALUATION", - "SIMULATOR", - "ASSIGNMENT", - "REFERENCE", - "VIDEO", - "QUIZ" - ] - } -} diff --git a/specifications/nit-surathkal/unit-operation,-reaction-engg.-&-process-control/e99161.json b/specifications/nit-surathkal/unit-operation,-reaction-engg.-&-process-control/e99161.json deleted file mode 100644 index 4b94011..0000000 --- a/specifications/nit-surathkal/unit-operation,-reaction-engg.-&-process-control/e99161.json +++ /dev/null @@ -1,39 +0,0 @@ -{ - "experiment": { - "id": "e99161", - "name": "Reaction kinetic studies in a mixed flow reactor:", - "discipline_id": "chem-engg", - "institute_id": "nitk", - "developers": [ - { - "name": "Dr. vidya shetty k", - "email": "vidyaks68@yahoo.com " - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "cloud", - "hosted_url": "http://uorepc-nitk.vlabs.ac.in/exp8/index.html" - }, - { - "hosting_status": "hosted", - "hosted_on": "openedx", - "hosted_url": "http://uorepc-nitk.vlabs.ac.in/exp8/index.html" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Reaction kinetic studies in a mixed flow reactor:", - "assets": [], - "sections" : [ - "THEORY", - "PROCEDURE", - "SELF EVALUATION", - "SIMULATOR", - "ASSIGNMENT", - "REFERENCE", - "VIDEO", - "QUIZ" - ] - } -} diff --git a/specifications/nit-surathkal/unit-operation,-reaction-engg.-&-process-control/e99162.json b/specifications/nit-surathkal/unit-operation,-reaction-engg.-&-process-control/e99162.json deleted file mode 100644 index bee4de2..0000000 --- a/specifications/nit-surathkal/unit-operation,-reaction-engg.-&-process-control/e99162.json +++ /dev/null @@ -1,39 +0,0 @@ -{ - "experiment": { - "id": "e99162", - "name": "Reaction kinetic studies in a batch reactor:", - "discipline_id": "chem-engg", - "institute_id": "nitk", - "developers": [ - { - "name": "Dr. vidya shetty k", - "email": "vidyaks68@yahoo.com " - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "cloud", - "hosted_url": "http://uorepc-nitk.vlabs.ac.in/exp7/index.html" - }, - { - "hosting_status": "hosted", - "hosted_on": "openedx", - "hosted_url": "http://uorepc-nitk.vlabs.ac.in/exp7/index.html" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Reaction kinetic studies in a batch reactor:", - "assets": [], - "sections" : [ - "THEORY", - "PROCEDURE", - "SELF EVALUATION", - "SIMULATOR", - "ASSIGNMENT", - "REFERENCE", - "VIDEO", - "QUIZ" - ] - } -} diff --git a/specifications/nit-surathkal/unit-operation,-reaction-engg.-&-process-control/e99163.json b/specifications/nit-surathkal/unit-operation,-reaction-engg.-&-process-control/e99163.json deleted file mode 100644 index 584f540..0000000 --- a/specifications/nit-surathkal/unit-operation,-reaction-engg.-&-process-control/e99163.json +++ /dev/null @@ -1,39 +0,0 @@ -{ - "experiment": { - "id": "e99163", - "name": "Flow through Fluidized Bed:", - "discipline_id": "chem-engg", - "institute_id": "nitk", - "developers": [ - { - "name": "Dr. vidya shetty k", - "email": "vidyaks68@yahoo.com " - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "cloud", - "hosted_url": "http://uorepc-nitk.vlabs.ac.in/exp6/index.html" - }, - { - "hosting_status": "hosted", - "hosted_on": "openedx", - "hosted_url": "http://uorepc-nitk.vlabs.ac.in/exp6/index.html" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Flow through Fluidized Bed:", - "assets": [], - "sections" : [ - "THEORY", - "PROCEDURE", - "SELF EVALUATION", - "SIMULATOR", - "ASSIGNMENT", - "REFERENCE", - "VIDEO", - "QUIZ" - ] - } -} diff --git a/specifications/nit-surathkal/unit-operation,-reaction-engg.-&-process-control/e99164.json b/specifications/nit-surathkal/unit-operation,-reaction-engg.-&-process-control/e99164.json deleted file mode 100644 index 7e9fa5d..0000000 --- a/specifications/nit-surathkal/unit-operation,-reaction-engg.-&-process-control/e99164.json +++ /dev/null @@ -1,39 +0,0 @@ -{ - "experiment": { - "id": "e99164", - "name": "Flow through Packed Bed:", - "discipline_id": "chem-engg", - "institute_id": "nitk", - "developers": [ - { - "name": "Dr. vidya shetty k", - "email": "vidyaks68@yahoo.com " - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "cloud", - "hosted_url": "http://uorepc-nitk.vlabs.ac.in/exp5/index.html" - }, - { - "hosting_status": "hosted", - "hosted_on": "openedx", - "hosted_url": "http://uorepc-nitk.vlabs.ac.in/exp5/index.html" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Flow through Packed Bed:", - "assets": [], - "sections" : [ - "THEORY", - "PROCEDURE", - "SELF EVALUATION", - "SIMULATOR", - "ASSIGNMENT", - "REFERENCE", - "VIDEO", - "QUIZ" - ] - } -} diff --git a/specifications/nit-surathkal/unit-operation,-reaction-engg.-&-process-control/e99165.json b/specifications/nit-surathkal/unit-operation,-reaction-engg.-&-process-control/e99165.json deleted file mode 100644 index 4d5b0c5..0000000 --- a/specifications/nit-surathkal/unit-operation,-reaction-engg.-&-process-control/e99165.json +++ /dev/null @@ -1,39 +0,0 @@ -{ - "experiment": { - "id": "e99165", - "name": "Flow through Venturi meter:", - "discipline_id": "chem-engg", - "institute_id": "nitk", - "developers": [ - { - "name": "Dr. vidya shetty k", - "email": "vidyaks68@yahoo.com " - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "cloud", - "hosted_url": "http://uorepc-nitk.vlabs.ac.in/exp4/index.html" - }, - { - "hosting_status": "hosted", - "hosted_on": "openedx", - "hosted_url": "http://uorepc-nitk.vlabs.ac.in/exp4/index.html" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Flow through Venturi meter:", - "assets": [], - "sections" : [ - "THEORY", - "PROCEDURE", - "SELF EVALUATION", - "SIMULATOR", - "ASSIGNMENT", - "REFERENCE", - "VIDEO", - "QUIZ" - ] - } -} diff --git a/specifications/nit-surathkal/unit-operation,-reaction-engg.-&-process-control/e99166.json b/specifications/nit-surathkal/unit-operation,-reaction-engg.-&-process-control/e99166.json deleted file mode 100644 index ae9e7a4..0000000 --- a/specifications/nit-surathkal/unit-operation,-reaction-engg.-&-process-control/e99166.json +++ /dev/null @@ -1,39 +0,0 @@ -{ - "experiment": { - "id": "e99166", - "name": "Flow through orifice meter:", - "discipline_id": "chem-engg", - "institute_id": "nitk", - "developers": [ - { - "name": "Dr. vidya shetty k", - "email": "vidyaks68@yahoo.com " - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "cloud", - "hosted_url": "http://uorepc-nitk.vlabs.ac.in/exp3/index.html" - }, - { - "hosting_status": "hosted", - "hosted_on": "openedx", - "hosted_url": "http://uorepc-nitk.vlabs.ac.in/exp3/index.html" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Flow through orifice meter:", - "assets": [], - "sections" : [ - "THEORY", - "PROCEDURE", - "SELF EVALUATION", - "SIMULATOR", - "ASSIGNMENT", - "REFERENCE", - "VIDEO", - "QUIZ" - ] - } -} diff --git a/specifications/nit-surathkal/unit-operation,-reaction-engg.-&-process-control/e99167.json b/specifications/nit-surathkal/unit-operation,-reaction-engg.-&-process-control/e99167.json deleted file mode 100644 index 6dba186..0000000 --- a/specifications/nit-surathkal/unit-operation,-reaction-engg.-&-process-control/e99167.json +++ /dev/null @@ -1,39 +0,0 @@ -{ - "experiment": { - "id": "e99167", - "name": "Flow Through Fittings:", - "discipline_id": "chem-engg", - "institute_id": "nitk", - "developers": [ - { - "name": "Dr. vidya shetty k", - "email": "vidyaks68@yahoo.com " - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "cloud", - "hosted_url": "http://uorepc-nitk.vlabs.ac.in/exp2/index.html" - }, - { - "hosting_status": "hosted", - "hosted_on": "openedx", - "hosted_url": "http://uorepc-nitk.vlabs.ac.in/exp2/index.html" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Flow Through Fittings:", - "assets": [], - "sections" : [ - "THEORY", - "PROCEDURE", - "SELF EVALUATION", - "SIMULATOR", - "ASSIGNMENT", - "REFERENCE", - "VIDEO", - "QUIZ" - ] - } -} diff --git a/specifications/nit-surathkal/unit-operation,-reaction-engg.-&-process-control/e99168.json b/specifications/nit-surathkal/unit-operation,-reaction-engg.-&-process-control/e99168.json deleted file mode 100644 index 3be6db6..0000000 --- a/specifications/nit-surathkal/unit-operation,-reaction-engg.-&-process-control/e99168.json +++ /dev/null @@ -1,39 +0,0 @@ -{ - "experiment": { - "id": "e99168", - "name": "Flow Through Pipes:", - "discipline_id": "chem-engg", - "institute_id": "nitk", - "developers": [ - { - "name": "Dr. vidya shetty k", - "email": "vidyaks68@yahoo.com " - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "cloud", - "hosted_url": "http://uorepc-nitk.vlabs.ac.in/exp1/index.html" - }, - { - "hosting_status": "hosted", - "hosted_on": "openedx", - "hosted_url": "http://uorepc-nitk.vlabs.ac.in/exp1/index.html" - } - ], - "integration_level": 4, - "overview": "This experiments deals with Flow Through Pipes:", - "assets": [], - "sections" : [ - "THEORY", - "PROCEDURE", - "SELF EVALUATION", - "SIMULATOR", - "ASSIGNMENT", - "REFERENCE", - "VIDEO", - "QUIZ" - ] - } -} diff --git a/specifications/nit-surathkal/unit-operation,-reaction-engg.-&-process-control/unit-operation,-reaction-engg.-&-process-control.json b/specifications/nit-surathkal/unit-operation,-reaction-engg.-&-process-control/unit-operation,-reaction-engg.-&-process-control.json deleted file mode 100644 index 9617eb7..0000000 --- a/specifications/nit-surathkal/unit-operation,-reaction-engg.-&-process-control/unit-operation,-reaction-engg.-&-process-control.json +++ /dev/null @@ -1,47 +0,0 @@ -{ - "lab": { - "id": "chem05", - "name": "unit operation, reaction engg. & process control", - "discipline_id": "chem-engg", - "institute_id": "nitk", - "developers": [ - { - "name": "Dr. vidya shetty k", - "email": "vidyaks68@yahoo.com " - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "cloud", - "hosted_url": "http://uorepc-nitk.vlabs.ac.in/" - }, - { - "hosting_status": "hosted", - "hosted_on": "openedx", - "hosted_url": "http://uorepc-nitk.vlabs.ac.in/" - } - ], - "integration_level": 4, - "overview": "This lab deals with unit operation, reaction engg. & process control", - "assets": [], - "sections": [ - { - "name": "Introduction" - }, - { - "experiments" : [ - "e99168", - "e99167", - "e99166", - "e99165", - "e99164", - "e99163", - "e99162", - "e99161", - "e99160" - ] - } - ] - } -} From 38bf00aa9a74e3826ae12cc3474f93d98fd519c4 Mon Sep 17 00:00:00 2001 From: madhavi Date: Thu, 31 Aug 2017 14:55:27 +0530 Subject: [PATCH 006/105] fix bug in system interface while updating an institute --- src/runtime/system/system-interface.org | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/runtime/system/system-interface.org b/src/runtime/system/system-interface.org index 35dfc2e..4737e7a 100755 --- a/src/runtime/system/system-interface.org +++ b/src/runtime/system/system-interface.org @@ -6229,7 +6229,7 @@ class TestUpdateExperiment(TestCase): asset_list.append(asset) if 'institute_name' not in data_dict: - institute_name=str(inst.get("institute_name")) + institute_name=str(institute.get("institute_name")) else: institute_name=data_dict['institute_name'] From 40f7e03605b58909861a3872c58795ca578895da Mon Sep 17 00:00:00 2001 From: madhavi Date: Thu, 7 Sep 2017 13:12:31 +0530 Subject: [PATCH 007/105] fixed bugs in update lab in system interface --- src/runtime/rest/api.org | 916 +++++++++++++++++++++--- src/runtime/system/system-interface.org | 148 ++-- 2 files changed, 896 insertions(+), 168 deletions(-) diff --git a/src/runtime/rest/api.org b/src/runtime/rest/api.org index 7d7fff7..53bdf2c 100755 --- a/src/runtime/rest/api.org +++ b/src/runtime/rest/api.org @@ -3159,7 +3159,7 @@ class TestAddLab(TestCase): :PROPERTIES: :CUSTOM_ID: api_update_lab_by_labid :END: - - URL :: /labs/ + - URL :: /labs?lab_id= - Method :: PUT @@ -3167,45 +3167,18 @@ class TestAddLab(TestCase): - Payload :: #+BEGIN_EXAMPLE -{ - "key" : , - "lab": { - "name": "Computer Programming", - "overview": "cp overview", - "discipline_id": "ECE", - "institute_id": "IITKgp", - "developers": [ - { - "name": "Prof. Pallavi Pawar", - "email": "pallavi.pawar@gmail.com" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "server", - "hosted_url": "http://iitk.vlab.co.in/" - } - ], - "integration_level": 3, - "assets": [ - { - "asset_type": "image", - "path": "vlabs.ac.in/images/video/icon.png" - } - ], - "sections": [ - { - "name": "Theory" - } - - ], - "experiments": [ - - ] +{ +"lab":{ + "assets": [ + { + "asset_type": "image", + "path": "iiit-h-cse02.jpg" + } + ] +}, - } - } + "key": "defaultkey" +} #+END_EXAMPLE - Success Response @@ -3215,54 +3188,779 @@ class TestAddLab(TestCase): { "assets": [ { - "asset_type": "image", - "id": "3", - "path": "vlabs.ac.in/images/video/icon.png" + "asset_type": { + "asset_type": "image", + "id": "1" + }, + "id": "165", + "path": "iiit-h-cse02.jpg" } ], - "developers": [ + "developers": [], + "discipline": { + "assets": [ + { + "asset_type": { + "asset_type": "image", + "id": "1" + }, + "id": "150", + "path": "computer-science-and-engineering.png" + } + ], + "discipline_id": "cse", + "discipline_name": "Computer Science and Engineering", + "id": "6" + }, + "experiments": [ { - "email": { - "email": "pallavi.pawar@gmail.com", - "id": "3" + "assets": [ + { + "asset_type": { + "asset_type": "image", + "id": "1" + }, + "id": "84", + "path": "../../static/IIITH-Computer-Programming.jpg" + } + ], + "developers": [], + "discipline": { + "assets": [ + "Not Printing" + ], + "discipline_id": "cse", + "discipline_name": "Computer Science and Engineering", + "id": "6" }, - "id": "3", - "name": { - "id": "3", - "name": "Prof. Pallavi Pawar" - } + "exp_id": "e99800", + "exp_name": "Numerical Approximation", + "hosting_info": [ + { + "hosted_on": "cloud", + "hosted_url": "http://cse02-iiith.vlabs.ac.in/", + "hosting_status": "hosted", + "id": "442" + } + ], + "id": "1198", + "institute": { + "assets": [ + "Not Printing" + ], + "id": "7", + "institute_id": "iiith", + "institute_name": "IIIT Hyderabad" + }, + "integration_status": { + "id": "1", + "integration_level": 0 + }, + "overview": "This experiments deals with Numerical Approximation", + "sections": [ + { + "id": "10", + "name": "Introduction" + }, + { + "id": "3", + "name": "Theory" + }, + { + "id": "171", + "name": "Objective" + }, + { + "id": "191", + "name": "Manual" + }, + { + "id": "4", + "name": "Procedure" + }, + { + "id": "303", + "name": "Further Reading" + } + ] + }, + { + "assets": [ + { + "asset_type": { + "asset_type": "image", + "id": "1" + }, + "id": "84", + "path": "../../static/IIITH-Computer-Programming.jpg" + } + ], + "developers": [], + "discipline": { + "assets": [ + "Not Printing" + ], + "discipline_id": "cse", + "discipline_name": "Computer Science and Engineering", + "id": "6" + }, + "exp_id": "e99799", + "exp_name": "Functions", + "hosting_info": [ + { + "hosted_on": "cloud", + "hosted_url": "http://cse02-iiith.vlabs.ac.in/", + "hosting_status": "hosted", + "id": "442" + } + ], + "id": "1201", + "institute": { + "assets": [ + "Not Printing" + ], + "id": "7", + "institute_id": "iiith", + "institute_name": "IIIT Hyderabad" + }, + "integration_status": { + "id": "1", + "integration_level": 0 + }, + "overview": "This experiments deals with Functions", + "sections": [ + { + "id": "10", + "name": "Introduction" + }, + { + "id": "3", + "name": "Theory" + }, + { + "id": "171", + "name": "Objective" + }, + { + "id": "191", + "name": "Manual" + }, + { + "id": "4", + "name": "Procedure" + }, + { + "id": "303", + "name": "Further Reading" + } + ] + }, + { + "assets": [ + { + "asset_type": { + "asset_type": "image", + "id": "1" + }, + "id": "84", + "path": "../../static/IIITH-Computer-Programming.jpg" + } + ], + "developers": [], + "discipline": { + "assets": [ + "Not Printing" + ], + "discipline_id": "cse", + "discipline_name": "Computer Science and Engineering", + "id": "6" + }, + "exp_id": "e99798", + "exp_name": "Advanced Control Flow", + "hosting_info": [ + { + "hosted_on": "cloud", + "hosted_url": "http://cse02-iiith.vlabs.ac.in/", + "hosting_status": "hosted", + "id": "442" + } + ], + "id": "1202", + "institute": { + "assets": [ + "Not Printing" + ], + "id": "7", + "institute_id": "iiith", + "institute_name": "IIIT Hyderabad" + }, + "integration_status": { + "id": "1", + "integration_level": 0 + }, + "overview": "This experiments deals with Advanced Control Flow", + "sections": [ + { + "id": "10", + "name": "Introduction" + }, + { + "id": "3", + "name": "Theory" + }, + { + "id": "171", + "name": "Objective" + }, + { + "id": "191", + "name": "Manual" + }, + { + "id": "4", + "name": "Procedure" + }, + { + "id": "303", + "name": "Further Reading" + } + ] + }, + { + "assets": [ + { + "asset_type": { + "asset_type": "image", + "id": "1" + }, + "id": "84", + "path": "../../static/IIITH-Computer-Programming.jpg" + } + ], + "developers": [], + "discipline": { + "assets": [ + "Not Printing" + ], + "discipline_id": "cse", + "discipline_name": "Computer Science and Engineering", + "id": "6" + }, + "exp_id": "e99797", + "exp_name": "Arrays", + "hosting_info": [ + { + "hosted_on": "cloud", + "hosted_url": "http://cse02-iiith.vlabs.ac.in/", + "hosting_status": "hosted", + "id": "442" + } + ], + "id": "1204", + "institute": { + "assets": [ + "Not Printing" + ], + "id": "7", + "institute_id": "iiith", + "institute_name": "IIIT Hyderabad" + }, + "integration_status": { + "id": "1", + "integration_level": 0 + }, + "overview": "This experiments deals with Arrays", + "sections": [ + { + "id": "10", + "name": "Introduction" + }, + { + "id": "3", + "name": "Theory" + }, + { + "id": "171", + "name": "Objective" + }, + { + "id": "191", + "name": "Manual" + }, + { + "id": "4", + "name": "Procedure" + }, + { + "id": "303", + "name": "Further Reading" + } + ] + }, + { + "assets": [ + { + "asset_type": { + "asset_type": "image", + "id": "1" + }, + "id": "84", + "path": "../../static/IIITH-Computer-Programming.jpg" + } + ], + "developers": [], + "discipline": { + "assets": [ + "Not Printing" + ], + "discipline_id": "cse", + "discipline_name": "Computer Science and Engineering", + "id": "6" + }, + "exp_id": "e99796", + "exp_name": "Structures", + "hosting_info": [ + { + "hosted_on": "cloud", + "hosted_url": "http://cse02-iiith.vlabs.ac.in/", + "hosting_status": "hosted", + "id": "442" + } + ], + "id": "1197", + "institute": { + "assets": [ + "Not Printing" + ], + "id": "7", + "institute_id": "iiith", + "institute_name": "IIIT Hyderabad" + }, + "integration_status": { + "id": "1", + "integration_level": 0 + }, + "overview": "This experiments deals with Structures", + "sections": [ + { + "id": "10", + "name": "Introduction" + }, + { + "id": "3", + "name": "Theory" + }, + { + "id": "171", + "name": "Objective" + }, + { + "id": "191", + "name": "Manual" + }, + { + "id": "4", + "name": "Procedure" + }, + { + "id": "303", + "name": "Further Reading" + } + ] + }, + { + "assets": [ + { + "asset_type": { + "asset_type": "image", + "id": "1" + }, + "id": "84", + "path": "../../static/IIITH-Computer-Programming.jpg" + } + ], + "developers": [], + "discipline": { + "assets": [ + "Not Printing" + ], + "discipline_id": "cse", + "discipline_name": "Computer Science and Engineering", + "id": "6" + }, + "exp_id": "e99795", + "exp_name": "Basic Control Flow", + "hosting_info": [ + { + "hosted_on": "cloud", + "hosted_url": "http://cse02-iiith.vlabs.ac.in/", + "hosting_status": "hosted", + "id": "442" + } + ], + "id": "1199", + "institute": { + "assets": [ + "Not Printing" + ], + "id": "7", + "institute_id": "iiith", + "institute_name": "IIIT Hyderabad" + }, + "integration_status": { + "id": "1", + "integration_level": 0 + }, + "overview": "This experiments deals with Basic Control Flow", + "sections": [ + { + "id": "10", + "name": "Introduction" + }, + { + "id": "3", + "name": "Theory" + }, + { + "id": "171", + "name": "Objective" + }, + { + "id": "191", + "name": "Manual" + }, + { + "id": "4", + "name": "Procedure" + }, + { + "id": "303", + "name": "Further Reading" + } + ] + }, + { + "assets": [ + { + "asset_type": { + "asset_type": "image", + "id": "1" + }, + "id": "84", + "path": "../../static/IIITH-Computer-Programming.jpg" + } + ], + "developers": [], + "discipline": { + "assets": [ + "Not Printing" + ], + "discipline_id": "cse", + "discipline_name": "Computer Science and Engineering", + "id": "6" + }, + "exp_id": "e99794", + "exp_name": "Strings", + "hosting_info": [ + { + "hosted_on": "cloud", + "hosted_url": "http://cse02-iiith.vlabs.ac.in/", + "hosting_status": "hosted", + "id": "442" + } + ], + "id": "1203", + "institute": { + "assets": [ + "Not Printing" + ], + "id": "7", + "institute_id": "iiith", + "institute_name": "IIIT Hyderabad" + }, + "integration_status": { + "id": "1", + "integration_level": 0 + }, + "overview": "This experiments deals with Strings", + "sections": [ + { + "id": "10", + "name": "Introduction" + }, + { + "id": "3", + "name": "Theory" + }, + { + "id": "171", + "name": "Objective" + }, + { + "id": "191", + "name": "Manual" + }, + { + "id": "4", + "name": "Procedure" + }, + { + "id": "303", + "name": "Further Reading" + } + ] + }, + { + "assets": [ + { + "asset_type": { + "asset_type": "image", + "id": "1" + }, + "id": "84", + "path": "../../static/IIITH-Computer-Programming.jpg" + } + ], + "developers": [], + "discipline": { + "assets": [ + "Not Printing" + ], + "discipline_id": "cse", + "discipline_name": "Computer Science and Engineering", + "id": "6" + }, + "exp_id": "e99793", + "exp_name": "Pointers", + "hosting_info": [ + { + "hosted_on": "cloud", + "hosted_url": "http://cse02-iiith.vlabs.ac.in/", + "hosting_status": "hosted", + "id": "442" + } + ], + "id": "1196", + "institute": { + "assets": [ + "Not Printing" + ], + "id": "7", + "institute_id": "iiith", + "institute_name": "IIIT Hyderabad" + }, + "integration_status": { + "id": "1", + "integration_level": 0 + }, + "overview": "This experiments deals with Pointers", + "sections": [ + { + "id": "10", + "name": "Introduction" + }, + { + "id": "3", + "name": "Theory" + }, + { + "id": "171", + "name": "Objective" + }, + { + "id": "191", + "name": "Manual" + }, + { + "id": "4", + "name": "Procedure" + }, + { + "id": "303", + "name": "Further Reading" + } + ] + }, + { + "assets": [ + { + "asset_type": { + "asset_type": "image", + "id": "1" + }, + "id": "84", + "path": "../../static/IIITH-Computer-Programming.jpg" + } + ], + "developers": [], + "discipline": { + "assets": [ + "Not Printing" + ], + "discipline_id": "cse", + "discipline_name": "Computer Science and Engineering", + "id": "6" + }, + "exp_id": "e99792", + "exp_name": "Recursion", + "hosting_info": [ + { + "hosted_on": "cloud", + "hosted_url": "http://cse02-iiith.vlabs.ac.in/", + "hosting_status": "hosted", + "id": "442" + } + ], + "id": "1200", + "institute": { + "assets": [ + "Not Printing" + ], + "id": "7", + "institute_id": "iiith", + "institute_name": "IIIT Hyderabad" + }, + "integration_status": { + "id": "1", + "integration_level": 0 + }, + "overview": "This experiments deals with Recursion", + "sections": [ + { + "id": "10", + "name": "Introduction" + }, + { + "id": "3", + "name": "Theory" + }, + { + "id": "171", + "name": "Objective" + }, + { + "id": "191", + "name": "Manual" + }, + { + "id": "4", + "name": "Procedure" + }, + { + "id": "303", + "name": "Further Reading" + } + ] + }, + { + "assets": [ + { + "asset_type": { + "asset_type": "image", + "id": "1" + }, + "id": "84", + "path": "../../static/IIITH-Computer-Programming.jpg" + } + ], + "developers": [], + "discipline": { + "assets": [ + "Not Printing" + ], + "discipline_id": "cse", + "discipline_name": "Computer Science and Engineering", + "id": "6" + }, + "exp_id": "e99791", + "exp_name": "Expression Evaluation", + "hosting_info": [ + { + "hosted_on": "cloud", + "hosted_url": "http://cse02-iiith.vlabs.ac.in/", + "hosting_status": "hosted", + "id": "442" + } + ], + "id": "1205", + "institute": { + "assets": [ + "Not Printing" + ], + "id": "7", + "institute_id": "iiith", + "institute_name": "IIIT Hyderabad" + }, + "integration_status": { + "id": "1", + "integration_level": 0 + }, + "overview": "This experiments deals with Expression Evaluation", + "sections": [ + { + "id": "10", + "name": "Introduction" + }, + { + "id": "3", + "name": "Theory" + }, + { + "id": "171", + "name": "Objective" + }, + { + "id": "191", + "name": "Manual" + }, + { + "id": "4", + "name": "Procedure" + }, + { + "id": "303", + "name": "Further Reading" + } + ] } ], - "discipline": { - "assets": [], - "discipline_id": "ece", - "discipline_name": "Electronics and Communication", - "id": "8" - }, - "experiments": [], "hosting_info": [ { - "hosted_on": "server", - "hosted_url": "http://iitk.vlab.co.in/", + "hosted_on": "cloud", + "hosted_url": "http://cse02-iiith.vlabs.ac.in/", "hosting_status": "hosted", - "id": "4" + "id": "442" } ], - "id": "1", + "id": "76", "institute": { - "assets": [], - "id": "9", - "institute_id": "iitkgp", - "institute_name": "IIT Kharagpur" + "assets": [ + { + "asset_type": { + "asset_type": "image", + "id": "1" + }, + "id": "156", + "path": "iiit-hyderabad.png" + } + ], + "id": "7", + "institute_id": "iiith", + "institute_name": "IIIT Hyderabad" }, "integration_status": { - "id": "4", - "integration_level": 3 + "id": "1", + "integration_level": 0 }, "lab_id": "cse02", "lab_name": "Computer Programming", - "overview": "cp overview", - "sections": [] + "overview": "This lab deals with Computer Programming", + "sections": [ + { + "id": "10", + "name": "Introduction" + } + ] } #+END_EXAMPLE @@ -8639,7 +9337,7 @@ class TestGetSectionbyid(TestCase): :PROPERTIES: :CUSTOM_ID: api_update_institutes_by_instid :END: - - URL :: /institutes? + - URL :: /institutes?institute_id= - Method :: PUT @@ -8648,9 +9346,14 @@ class TestGetSectionbyid(TestCase): - Payload :: #+BEGIN_EXAMPLE { -"institute_name": "IIIT Hydfdfdd", -"key": "defaultkey", + "assets": [ + { + "asset_type": "image", + "path": "amrita-university.png" + } + ], + "key": "defaultkey" } #+END_EXAMPLE @@ -8659,17 +9362,19 @@ class TestGetSectionbyid(TestCase): + Contents : #+BEGIN_EXAMPLE { - "id": 1, - "institute_id": "iiith", - "institute_name": "IIIT Hydfdfdd", "assets": [ - { - "asset_type": "Image", - "id": 1, - "path": "vlabs.ac.in/images/static/logo.png" - } - ] - + { + "asset_type": { + "asset_type": "image", + "id": "1" + }, + "id": "153", + "path": "amrita-university.png" + } + ], + "id": "1", + "institute_id": "amrita", + "institute_name": "Amrita University" } #+END_EXAMPLE @@ -8681,7 +9386,7 @@ class TestGetSectionbyid(TestCase): - Example: #+BEGIN_EXAMPLE - http://localhost:5000/institutes?institute_id=iiith + http://localhost:5000/institutes?institute_id=amrita #+END_EXAMPLE *** Implementation @@ -8967,7 +9672,7 @@ class TestDeleteInstitute(TestCase): :PROPERTIES: :CUSTOM_ID: api_update_disciplines_by_disid :END: - - URL :: /disciplines/ + - URL :: /disciplines?discipline_id= - Method :: PUT @@ -8976,32 +9681,35 @@ class TestDeleteInstitute(TestCase): - Payload :: #+BEGIN_EXAMPLE { -"discipline_name": "Auto Mobiles and Engineering", -"assets": [ - { - "asset_type": "Image", - "path": "vlabs.ac.in/images/static/logo.png" - } - ], + "assets": [ + { + "asset_type": "image", + "path": "physical-sciences.png" + } + ], - "key": "" + "key": "defaultkey" } + #+END_EXAMPLE - Success Response + Status_Code: 200 + Contents : #+BEGIN_EXAMPLE { -"assets": [ - { - "asset_type": "Image", - "id": 1, - "path": "vlabs.ac.in/images/static/logo.png" - } - ], - "discipline_id": "ab", - "discipline_name": "Auto Mobiles and Engineering", - "id": 15 + "assets": [ + { + "asset_type": { + "asset_type": "image", + "id": "1" + }, + "id": "160", + "path": "physical-sciences.png" + } + ], + "discipline_id": "phy-sc", + "discipline_name": "Physical Sciences", + "id": "11" } #+END_EXAMPLE @@ -9013,7 +9721,7 @@ class TestDeleteInstitute(TestCase): - Example: #+BEGIN_EXAMPLE - http://localhost:5000/disciplines?discipline_id=cse + http://localhost:5000/disciplines?discipline_id=phy-sc #+END_EXAMPLE *** Implementation diff --git a/src/runtime/system/system-interface.org b/src/runtime/system/system-interface.org index 4737e7a..30c91e1 100755 --- a/src/runtime/system/system-interface.org +++ b/src/runtime/system/system-interface.org @@ -5360,88 +5360,107 @@ class TestGetNameById(TestCase): overview=data_dict['lab']['overview'] if 'institute_id' not in data_dict['lab']: - inst=str(lab.get("institute")) + institute = lab.get("institute") else: - inst = System.do("get_institute", institute_id= + institute = System.do("get_institute", institute_id= data_dict['lab']['institute_id']) if 'discipline_id' not in data_dict['lab']: - dis=str(lab.get("discipline")) + discipline = lab.get("discipline") else: - dis = System.do("get_discipline", discipline_id= + discipline = System.do("get_discipline", discipline_id= data_dict['lab']['discipline_id']) if 'integration_level' not in data_dict['lab']: - integration_status=str(lab.get("integration_status")) + integration_status = lab.get("integration_status") else: integration_status = System.do("get_integration_status_by_IL", integration_level=data_dict['lab']['integration_level']) - hosting_info = data_dict['lab']['hosting_info'] - hosting_info_list = [] - for hosting_info_x in hosting_info: - hosting_info = System.do("get_hosting_info", - hosted_url= - hosting_info_x['hosted_url']) - if hosting_info is None: - hosting_info = hosting_info_cls(hosting_status=str(hosting_info_x['hosting_status']), \ - hosted_url=str(hosting_info_x['hosted_url']), hosted_on=str(hosting_info_x['hosted_on'])) - hosting_info = System.do("add_hosting_info", hosting_info=hosting_info, session=session) - hosting_info_list.append(hosting_info) - - assets = data_dict['lab']['assets'] - asset_list = [] - - for asset_x in assets: - asset = System.do("get_asset", path=asset_x['path']) - if asset is None: - asset_type = asset_type_cls(asset_type=\ - str(asset_x['asset_type'])) - asset = asset_cls(asset_type=asset_type, \ - path=str(asset_x['path'])) - asset = System.do("add_asset", asset=asset, session=session) - asset_list.append(asset) - - section_list=[] - for section in data_dict['lab']['sections']: - if 'experiments' in section.keys(): - experiments = section['experiments'] - else: - section_list.append(section['name']) - - section_obj_list=[] - for section_x in section_obj_list: - section = System.do("get_section", name=section_x['name']) - if section is None: - section = section_cls(name=str(section_x['name'])) - section = System.do("add_section", section=section, session=session) - section_obj_list.append(section) - - developers = data_dict['lab']['developers'] - developer_list = [] - for developer_x in developers: - name = name_cls(name=developer_x['name']) - email = email_cls(email=developer_x['email']) - developer = System.do("get_developer", email=email) - if developer is None: - developer = developer_cls(name=name, email=email) - developer = System.do("add_developer", developer=developer, session=session) - developer_list.append(developer) - - experiments = data_dict['lab']['experiments'] - - exp_list = [] - for e_id in experiments: - experiment = System.do("get_experiment", exp_id=e_id) - exp_list.append(experiment) + if 'hosting_info' not in data_dict['lab']: + hosting_info_list = lab.get("hosting_info") + else: + hosting_info = data_dict['lab']['hosting_info'] + hosting_info_list = [] + for hosting_info_x in hosting_info: + hosting_info = System.do("get_hosting_info", + hosted_url= + hosting_info_x['hosted_url']) + if hosting_info is None: + hosting_info = hosting_info_cls\ + (hosting_status=str(hosting_info_x['hosting_status']), \ + hosted_url=str(hosting_info_x['hosted_url']), \ + hosted_on=str(hosting_info_x['hosted_on'])) + hosting_info = System.do("add_hosting_info", + hosting_info=hosting_info, + session=session) + hosting_info_list.append(hosting_info) + + if 'assets' not in data_dict['lab']: + asset_list = lab.get("assets") + logger.debug("assets=%s", asset_list) + else: + assets = data_dict['lab']['assets'] + asset_list = [] + for asset_x in assets: + asset = System.do("get_asset", path=asset_x['path']) + if asset is None: + asset_type = asset_type_cls(asset_type=\ + str(asset_x['asset_type'])) + asset = asset_cls(asset_type=asset_type, \ + path=str(asset_x['path'])) + asset = System.do("add_asset", asset=asset, session=session) + asset_list.append(asset) + + if 'sections' not in data_dict['lab']: + section_obj_list = lab.get("sections") + else: + section_list=[] + for section in data_dict['lab']['sections']: + if 'experiments' in section.keys(): + experiments = section['experiments'] + else: + section_list.append(section['name']) + + section_obj_list=[] + for section_x in section_obj_list: + section = System.do("get_section", name=section_x['name']) + if section is None: + section = section_cls(name=str(section_x['name'])) + section = System.do("add_section", section=section, session=session) + section_obj_list.append(section) + + if 'developers' not in data_dict['lab']: + developer_list = lab.get("developers") + else: + developers = data_dict['lab']['developers'] + developer_list = [] + for developer_x in developers: + name = name_cls(name=developer_x['name']) + email = email_cls(email=developer_x['email']) + developer = System.do("get_developer", email=email) + if developer is None: + developer = developer_cls(name=name, email=email) + developer = System.do("add_developer", developer=developer, + session=session) + developer_list.append(developer) + + if 'experiments' not in data_dict['lab']: + exp_list = lab.get("experiments") + else: + experiments = data_dict['lab']['experiments'] + exp_list = [] + for e_id in experiments: + experiment = System.do("get_experiment", exp_id=e_id) + exp_list.append(experiment) try: current_app.logger.debug("running operation update_lab") lab = System.do("update_lab", lab=lab, lab_name=lab_name, overview=overview, session=session, - institute=inst, - discipline=dis, + institute=institute, + discipline=discipline, hosting_info=hosting_info_list, assets=asset_list, experiments=exp_list, @@ -5450,6 +5469,7 @@ class TestGetNameById(TestCase): integration_status=integration_status) current_app.logger.debug("completed operation update_lab") return lab.to_client() + except (ArityError, TypeError, NotAuthorizedError, StateError) as err: current_app.logger.error("Exception = %s" % str(err)) raise err From be09f146815015634450227dde4096493c7151f9 Mon Sep 17 00:00:00 2001 From: madhavi Date: Thu, 7 Sep 2017 13:21:08 +0530 Subject: [PATCH 008/105] change lds version in backup script --- src/deployment/index.org | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/deployment/index.org b/src/deployment/index.org index 09a1c5c..aab461c 100755 --- a/src/deployment/index.org +++ b/src/deployment/index.org @@ -29,7 +29,7 @@ requires = [ setup( name='lds', - version='2.0', + version='2.0.0', install_requires=requires ) From cf4a8cc46f9c628d80a33d62de3fc9702576d593 Mon Sep 17 00:00:00 2001 From: madhavi Date: Thu, 7 Sep 2017 16:03:49 +0530 Subject: [PATCH 009/105] removed logger line in system interface --- src/runtime/system/system-interface.org | 1 - 1 file changed, 1 deletion(-) diff --git a/src/runtime/system/system-interface.org b/src/runtime/system/system-interface.org index 30c91e1..4d07e6d 100755 --- a/src/runtime/system/system-interface.org +++ b/src/runtime/system/system-interface.org @@ -5398,7 +5398,6 @@ class TestGetNameById(TestCase): if 'assets' not in data_dict['lab']: asset_list = lab.get("assets") - logger.debug("assets=%s", asset_list) else: assets = data_dict['lab']['assets'] asset_list = [] From ed6b8c4828eea5ee776bfce0c81e0b3de48b37bc Mon Sep 17 00:00:00 2001 From: obliviateandsurrender Date: Sat, 9 Sep 2017 02:18:10 +0530 Subject: [PATCH 010/105] REST API Pagination, get_lab done --- src/runtime/rest/api.org | 89 ++++++++++++++++++++++++++++++++++++---- 1 file changed, 82 insertions(+), 7 deletions(-) diff --git a/src/runtime/rest/api.org b/src/runtime/rest/api.org index 7d7fff7..2be95dc 100755 --- a/src/runtime/rest/api.org +++ b/src/runtime/rest/api.org @@ -18,6 +18,43 @@ ** Get Labs, Get Lab, Get Labs by institute, lab_name, discipline and asset and Get labs by passing lab_name as keyword *** API Designs +**** Pagination Design +- This function will allow us to enable pagination of out REST APIs. It is supposed to take in four arguments that will be total object list + provied along with the starting integer and a limiting integer. +- This is supposed to check for size conditions and generate a previous data and next available data link too. + +#+NAME: pagination +#+BEGIN_EXAMPLE python +def pagination(klass, url, start, limit): + data = {} + count = len(klass) + + data['start'] = start + data['limit'] = limit + data['count'] = count + + if count < start: + data['result'] = None + data['previous'] = url + '?start=%d&limit=%d' % (count-limit,limit) + return data + + if start == 1: + data['previous'] = None + else: + prev_start = max(1, start - limit) + prev_limit = start - 1 + data['previous'] = url + 'start=%d&limit=%d' % (prev_start, prev_limit) + + if start + limit > count: + data['next'] = None + else: + next_start = start + limit + data['next'] = url + 'start=%d&limit=%d' % (next_start, limit) + + data['results'] = klass[(start - 1):(start - 1 + limit)] + return data +#+END_EXAMPLE + **** Get all labs :PROPERTIES: :CUSTOM_ID: api_get_all_labs @@ -1004,6 +1041,7 @@ http://localhost:5000/labs?keyword_lab_name=data #+BEGIN_SRC python @api.route('/labs', methods=['GET']) def get_lab(): + print request.args if request.method == 'GET': if 'lab_id' in request.args: lab_id = request.args['lab_id'] @@ -1047,7 +1085,13 @@ def get_lab(): try: current_app.logger.debug("running operation get_labs_by_lab_name") labs = SystemInterface.get_labs_by_lab_name(lab_name) - return jsonify(labs) + return jsonify(pagination( + labs, + '/labs?lab_name='+lab_name+'&', + start=int(request.args.get('start', 1)), + limit=int(request.args.get('limit', 1)) + )) + #return jsonify(labs) except TypeError as e: current_app.logger.error("Exception = %s" % str(e)) @@ -1084,7 +1128,13 @@ def get_lab(): current_app.logger.debug("running operation get_labs_by_institute") labs = SystemInterface.get_labs_by_institute(institute_name) current_app.logger.debug("completed operation get_labs_by_institute") - return jsonify_list(labs) + return jsonify(pagination( + labs, + '/labs?institute_name='+institute_name+'&', + start=int(request.args.get('start', 1)), + limit=int(request.args.get('limit', 1)) + )) + #return jsonify_list(labs) except TypeError as e: current_app.logger.error("Exception = %s" % str(e)) @@ -1121,7 +1171,13 @@ def get_lab(): current_app.logger.debug("running operation get_labs_by_discipline") labs = SystemInterface.get_labs_by_discipline(discipline_name) current_app.logger.debug("completed operation get_labs_by_discipline") - return jsonify_list(labs) + return jsonify(pagination( + labs, + '/labs?discipline_name='+discipline_name+'&', + start=int(request.args.get('start', 1)), + limit=int(request.args.get('limit', 1)) + )) + #return jsonify_list(labs) except TypeError as e: current_app.logger.error("Exception = %s" % str(e)) @@ -1158,7 +1214,13 @@ def get_lab(): current_app.logger.debug("running operation get_labs_by_asset") labs = SystemInterface.get_labs_by_asset(asset_type) current_app.logger.debug("completed operation get_labs_by_asset") - return jsonify_list(labs) + return jsonify(pagination( + labs, + '/labs?asset_type='+asset_type+'&', + start=int(request.args.get('start', 1)), + limit=int(request.args.get('limit', 1)) + )) + #return jsonify_list(labs) except TypeError as e: current_app.logger.error("Exception = %s" % str(e)) @@ -1197,7 +1259,13 @@ def get_lab(): labs = SystemInterface.get_labs_by_keyword_lab_name(keyword) current_app.logger.debug("completed operation get_labs_by_" " keyword_lab_name") - return jsonify_list(labs) + return jsonify(pagination( + labs, + '/labs?keyword_lab_name='+keyword+'&', + start=int(request.args.get('start', 1)), + limit=int(request.args.get('limit', 1)) + )) + #return jsonify_list(labs) except TypeError as e: current_app.logger.error("Exception = %s" % str(e)) @@ -1230,10 +1298,16 @@ def get_lab(): else: try: - current_app.logger.debug("running operation get_labs") + current_app.logger.debug("running operation get_labs") labs = SystemInterface.get_labs() current_app.logger.debug("completed operation get_labs") - return jsonify_list(labs) + return jsonify(pagination( + labs, + '/labs?', + start=int(request.args.get('start', 1)), + limit=int(request.args.get('limit', 1)) + )) + #return jsonify_list(labs) except TypeError as e: current_app.logger.error("Exception = %s" % str(e)) @@ -11424,6 +11498,7 @@ if __name__ == '__main__': ** sources #+BEGIN_SRC python :tangle api.py :eval no :noweb yes <> +<> <> <> <> From ee0c92073bad9a03eb5355dd020584833e76fb86 Mon Sep 17 00:00:00 2001 From: Utkarsh Date: Sat, 9 Sep 2017 02:20:52 +0530 Subject: [PATCH 011/105] Minor org change for Pagination --- src/runtime/rest/api.org | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/runtime/rest/api.org b/src/runtime/rest/api.org index 2be95dc..16b5b0f 100755 --- a/src/runtime/rest/api.org +++ b/src/runtime/rest/api.org @@ -23,8 +23,8 @@ provied along with the starting integer and a limiting integer. - This is supposed to check for size conditions and generate a previous data and next available data link too. -#+NAME: pagination -#+BEGIN_EXAMPLE python + #+NAME: test_get_names + #+BEGIN_SRC python def pagination(klass, url, start, limit): data = {} count = len(klass) @@ -53,7 +53,7 @@ def pagination(klass, url, start, limit): data['results'] = klass[(start - 1):(start - 1 + limit)] return data -#+END_EXAMPLE +#+END_SRC **** Get all labs :PROPERTIES: From 0c003444aab61f6e92e92467e91aa5695e181e77 Mon Sep 17 00:00:00 2001 From: Utkarsh Date: Sat, 9 Sep 2017 02:26:10 +0530 Subject: [PATCH 012/105] README update --- src/deployment/run-lds-in-development-environment.org | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/deployment/run-lds-in-development-environment.org b/src/deployment/run-lds-in-development-environment.org index 77a9ef8..f240042 100755 --- a/src/deployment/run-lds-in-development-environment.org +++ b/src/deployment/run-lds-in-development-environment.org @@ -104,4 +104,5 @@ python setup.py install * API Documentation URL : - [https://github.com/vlead/lab-data-service/blob/master/src/runtime/rest/api.org] + [REST APIs](https://github.com/vlead/lab-data-service/blob/master/src/runtime/rest/api.org) + From 93b78befeddb2230a64bd40820bf74915d6a00a1 Mon Sep 17 00:00:00 2001 From: Utkarsh Date: Sat, 9 Sep 2017 02:28:19 +0530 Subject: [PATCH 013/105] Deployment Instructions update --- src/deployment/run-lds-in-development-environment.org | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/deployment/run-lds-in-development-environment.org b/src/deployment/run-lds-in-development-environment.org index f240042..e4014aa 100755 --- a/src/deployment/run-lds-in-development-environment.org +++ b/src/deployment/run-lds-in-development-environment.org @@ -104,5 +104,5 @@ python setup.py install * API Documentation URL : - [REST APIs](https://github.com/vlead/lab-data-service/blob/master/src/runtime/rest/api.org) + [REST APIs][https://github.com/vlead/lab-data-service/blob/master/src/runtime/rest/api.org] From 98288ef5d76a76428e76d36f26342d007e968908 Mon Sep 17 00:00:00 2001 From: obliviateandsurrender Date: Sat, 9 Sep 2017 02:30:31 +0530 Subject: [PATCH 014/105] Deployment Instructions done --- src/deployment/run-lds-in-development-environment.org | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/deployment/run-lds-in-development-environment.org b/src/deployment/run-lds-in-development-environment.org index e4014aa..6cffefe 100755 --- a/src/deployment/run-lds-in-development-environment.org +++ b/src/deployment/run-lds-in-development-environment.org @@ -104,5 +104,5 @@ python setup.py install * API Documentation URL : - [REST APIs][https://github.com/vlead/lab-data-service/blob/master/src/runtime/rest/api.org] + [[https://github.com/vlead/lab-data-service/blob/master/src/runtime/rest/api.org][REST APIS]] From 9faf2cb9d453893aceca25738e27bd2b45b8b6ef Mon Sep 17 00:00:00 2001 From: madhavi Date: Sat, 9 Sep 2017 12:49:25 +0530 Subject: [PATCH 015/105] updated update institute and update discipline in SI layer --- src/runtime/system/system-interface.org | 50 +++++++++++++------------ 1 file changed, 26 insertions(+), 24 deletions(-) diff --git a/src/runtime/system/system-interface.org b/src/runtime/system/system-interface.org index 4d07e6d..e4bb6cf 100755 --- a/src/runtime/system/system-interface.org +++ b/src/runtime/system/system-interface.org @@ -6236,16 +6236,19 @@ class TestUpdateExperiment(TestCase): institute = System.do("get_institute", institute_id=str(data_dict['institute_id'])) - assets = data_dict['assets'] - asset_list = [] - for asset_x in assets: - asset = System.do("get_asset", path=asset_x['path']) - if asset is None: - asset_type = asset_type_cls(asset_type=asset_x['asset_type']) - asset = asset_cls(asset_type=asset_type, \ - path=str(asset_x['path'])) - asset = System.do("add_asset", asset=asset, session=session) - asset_list.append(asset) + if 'assets' not in data_dict: + asset_list = institute.get("assets") + else: + assets = data_dict['assets'] + asset_list = [] + for asset_x in assets: + asset = System.do("get_asset", path=asset_x['path']) + if asset is None: + asset_type = asset_type_cls(asset_type=asset_x['asset_type']) + asset = asset_cls(asset_type=asset_type, \ + path=str(asset_x['path'])) + asset = System.do("add_asset", asset=asset, session=session) + asset_list.append(asset) if 'institute_name' not in data_dict: institute_name=str(institute.get("institute_name")) @@ -6322,7 +6325,6 @@ class TestUpdateInstitute(TestCase): data_dict1['assets'][0]['path']) #+END_SRC - ** Update Section #+NAME: class_update_section #+begin_src python @@ -6391,7 +6393,6 @@ class TestUpdateSection(TestCase): #+END_SRC - ** Update Discipline #+NAME: class_update_discipline #+begin_src python @@ -6405,16 +6406,19 @@ class TestUpdateSection(TestCase): discipline_id = str(data_dict['discipline_id']) discipline = System.do("get_discipline", discipline_id=discipline_id) - assets = data_dict['assets'] - asset_list = [] - for asset_x in assets: - asset = System.do("get_asset", path=asset_x['path']) - if asset is None: - asset_type = asset_type_cls(asset_type=asset_x['asset_type']) - asset = asset_cls(asset_type=asset_type, \ - path=str(asset_x['path'])) - asset = System.do("add_asset", asset=asset, session=session) - asset_list.append(asset) + if 'assets' not in data_dict: + asset_list = discipline.get("assets") + else: + assets = data_dict['assets'] + asset_list = [] + for asset_x in assets: + asset = System.do("get_asset", path=asset_x['path']) + if asset is None: + asset_type = asset_type_cls(asset_type=asset_x['asset_type']) + asset = asset_cls(asset_type=asset_type, \ + path=str(asset_x['path'])) + asset = System.do("add_asset", asset=asset, session=session) + asset_list.append(asset) if "discipline_name" not in data_dict: discipline_name=str(discipline.get("discipline_name")) @@ -6488,7 +6492,6 @@ class TestUpdateDiscipline(TestCase): #+END_SRC - ** Update Hosting_Info #+NAME: class_update_hosting_info #+begin_src python @@ -6567,7 +6570,6 @@ class TestUpdateHosting_Info(TestCase): #+END_SRC - ** Update Developer #+NAME: class_update_developer #+begin_src python From 2d3dd030ab7fdff8d9f6077a8a4138facb63d4f8 Mon Sep 17 00:00:00 2001 From: obliviateandsurrender Date: Sat, 9 Sep 2017 23:48:42 +0530 Subject: [PATCH 016/105] Pagination done with X-Pagination header integration --- src/runtime/rest/api.org | 346 +++++++++++++++++++++++++-------------- 1 file changed, 222 insertions(+), 124 deletions(-) diff --git a/src/runtime/rest/api.org b/src/runtime/rest/api.org index 16b5b0f..70d7f6e 100755 --- a/src/runtime/rest/api.org +++ b/src/runtime/rest/api.org @@ -11,50 +11,53 @@ :CUSTOM_ID: introduction :END: This document illustrates building of the REST API. - - -* REST -** Get Labs, Get Lab, Get Labs by institute, lab_name, discipline and asset and Get labs by passing lab_name as keyword -*** API Designs -**** Pagination Design +* REST +** Pagination support for Get Request +*** Function Design - This function will allow us to enable pagination of out REST APIs. It is supposed to take in four arguments that will be total object list provied along with the starting integer and a limiting integer. - This is supposed to check for size conditions and generate a previous data and next available data link too. +*** Function Definition #+NAME: test_get_names #+BEGIN_SRC python def pagination(klass, url, start, limit): data = {} count = len(klass) - - data['start'] = start - data['limit'] = limit - data['count'] = count + data['currentPage'] = start + data['pageSize'] = limit + data['totalCount'] = count if count < start: - data['result'] = None - data['previous'] = url + '?start=%d&limit=%d' % (count-limit,limit) - return data - - if start == 1: - data['previous'] = None + data['nextPageLink'] = None + data['previousPageLink'] = url + 'page=%d' % (count-limit) + response = make_response(jsonify(None)) else: - prev_start = max(1, start - limit) - prev_limit = start - 1 - data['previous'] = url + 'start=%d&limit=%d' % (prev_start, prev_limit) + if start == 1: + data['previousPageLink'] = None + else: + prev_start = max(1, start - limit) + data['previousPageLink'] = url + 'page=%d' % (prev_start) - if start + limit > count: - data['next'] = None - else: - next_start = start + limit - data['next'] = url + 'start=%d&limit=%d' % (next_start, limit) + if start + limit > count: + data['nextPageLink'] = None + else: + data['nextPageLink'] = url + 'page=%d' % (start + limit) - data['results'] = klass[(start - 1):(start - 1 + limit)] - return data + response = make_response(jsonify(klass[(start - 1):(start - 1 + limit)])) + + response.headers['X-Pagination'] = data + return response + + #+END_SRC + +** Get Labs, Get Lab, Get Labs by institute, lab_name, discipline and asset and Get labs by passing lab_name as keyword +*** API Designs + **** Get all labs :PROPERTIES: :CUSTOM_ID: api_get_all_labs @@ -1041,7 +1044,7 @@ http://localhost:5000/labs?keyword_lab_name=data #+BEGIN_SRC python @api.route('/labs', methods=['GET']) def get_lab(): - print request.args + if request.method == 'GET': if 'lab_id' in request.args: lab_id = request.args['lab_id'] @@ -1085,13 +1088,12 @@ def get_lab(): try: current_app.logger.debug("running operation get_labs_by_lab_name") labs = SystemInterface.get_labs_by_lab_name(lab_name) - return jsonify(pagination( + return pagination( labs, '/labs?lab_name='+lab_name+'&', - start=int(request.args.get('start', 1)), - limit=int(request.args.get('limit', 1)) - )) - #return jsonify(labs) + start=int(request.args.get('page', 1)), + limit=int(request.args.get('pageSize', 25)) + ) except TypeError as e: current_app.logger.error("Exception = %s" % str(e)) @@ -1128,13 +1130,13 @@ def get_lab(): current_app.logger.debug("running operation get_labs_by_institute") labs = SystemInterface.get_labs_by_institute(institute_name) current_app.logger.debug("completed operation get_labs_by_institute") - return jsonify(pagination( + + return pagination( labs, '/labs?institute_name='+institute_name+'&', - start=int(request.args.get('start', 1)), - limit=int(request.args.get('limit', 1)) - )) - #return jsonify_list(labs) + start=int(request.args.get('page', 1)), + limit=int(request.args.get('pageSize', 25)) + ) except TypeError as e: current_app.logger.error("Exception = %s" % str(e)) @@ -1171,13 +1173,12 @@ def get_lab(): current_app.logger.debug("running operation get_labs_by_discipline") labs = SystemInterface.get_labs_by_discipline(discipline_name) current_app.logger.debug("completed operation get_labs_by_discipline") - return jsonify(pagination( + return pagination( labs, '/labs?discipline_name='+discipline_name+'&', - start=int(request.args.get('start', 1)), - limit=int(request.args.get('limit', 1)) - )) - #return jsonify_list(labs) + start=int(request.args.get('page', 1)), + limit=int(request.args.get('pageSize', 25)) + ) except TypeError as e: current_app.logger.error("Exception = %s" % str(e)) @@ -1214,13 +1215,12 @@ def get_lab(): current_app.logger.debug("running operation get_labs_by_asset") labs = SystemInterface.get_labs_by_asset(asset_type) current_app.logger.debug("completed operation get_labs_by_asset") - return jsonify(pagination( + return pagination( labs, '/labs?asset_type='+asset_type+'&', - start=int(request.args.get('start', 1)), - limit=int(request.args.get('limit', 1)) - )) - #return jsonify_list(labs) + start=int(request.args.get('page', 1)), + limit=int(request.args.get('pageSize', 25)) + ) except TypeError as e: current_app.logger.error("Exception = %s" % str(e)) @@ -1259,13 +1259,12 @@ def get_lab(): labs = SystemInterface.get_labs_by_keyword_lab_name(keyword) current_app.logger.debug("completed operation get_labs_by_" " keyword_lab_name") - return jsonify(pagination( + return pagination( labs, '/labs?keyword_lab_name='+keyword+'&', - start=int(request.args.get('start', 1)), - limit=int(request.args.get('limit', 1)) - )) - #return jsonify_list(labs) + start=int(request.args.get('page', 1)), + limit=int(request.args.get('pageSize', 25)) + ) except TypeError as e: current_app.logger.error("Exception = %s" % str(e)) @@ -1301,13 +1300,13 @@ def get_lab(): current_app.logger.debug("running operation get_labs") labs = SystemInterface.get_labs() current_app.logger.debug("completed operation get_labs") - return jsonify(pagination( - labs, - '/labs?', - start=int(request.args.get('start', 1)), - limit=int(request.args.get('limit', 1)) - )) - #return jsonify_list(labs) + + return pagination( + labs, + '/labs?', + start=int(request.args.get('page', 1)), + limit=int(request.args.get('pageSize', 25)) + ) except TypeError as e: current_app.logger.error("Exception = %s" % str(e)) @@ -3922,10 +3921,15 @@ def get_institute(): else: try: - current_app.logger.debug("running operation get_institutes") - institutes = SystemInterface.get_institutes() - current_app.logger.debug("completed operation get_institutes") - return jsonify_list(institutes) + current_app.logger.debug("running operation get_institutes") + institutes = SystemInterface.get_institutes() + current_app.logger.debug("completed operation get_institutes") + return pagination( + institutes, + '/institutes?', + start=int(request.args.get('page', 1)), + limit=int(request.args.get('pageSize', 25)) + ) except TypeError as e: current_app.logger.error("Exception = %s" % str(e)) @@ -3956,6 +3960,7 @@ def get_institute(): "msg": err_str} abort(500, msg) + #+END_SRC *** Test Cases @@ -4442,7 +4447,12 @@ def get_discipline(): current_app.logger.debug("running operation get_disciplines") disciplines = SystemInterface.get_disciplines() current_app.logger.debug("completed operation get_disciplines") - return jsonify_list(disciplines) + return pagination( + disciplines, + '/disciplines?', + start=int(request.args.get('page', 1)), + limit=int(request.args.get('pageSize', 25)) + ) except TypeError as e: current_app.logger.error("Exception = %s" % str(e)) @@ -4472,6 +4482,8 @@ def get_discipline(): msg = {"status": "failure", "msg": err_str} abort(500, msg) + + #+END_SRC *** Test Cases @@ -5094,7 +5106,12 @@ def get_experiment(): current_app.logger.debug("execute get_experiments") experiments = SystemInterface.get_experiments() current_app.logger.debug("executed get_experiments") - return jsonify_list(experiments) + return pagination( + experiments, + '/experiments?', + start=int(request.args.get('page', 1)), + limit=int(request.args.get('pageSize', 25)) + ) except NotAuthorizedError as e: current_app.logger.error("Exception = %s" % str(e)) @@ -5132,6 +5149,7 @@ def get_experiment(): msg = {"status": "failure", "msg": err_str} abort(500, msg) + #+END_SRC @@ -5867,7 +5885,12 @@ def get_sections(): current_app.logger.debug("execute get_sections") sections = SystemInterface.get_sections() current_app.logger.debug("executed get_sections") - return jsonify_list(sections) + return pagination( + sections, + '/sections?', + start=int(request.args.get('page', 1)), + limit=int(request.args.get('pageSize', 25)) + ) except TypeError as e: current_app.logger.error("Exception = %s" % str(e)) @@ -6643,57 +6666,101 @@ http://localhost:5000/hosting_info REST API to add an hosting_info. #+NAME: add_hosting_info #+BEGIN_SRC python -@api.route('/hosting_info', methods=['POST']) -def add_hosting_info(): - if request.method == 'POST': - if request.is_json: - data_json = json.dumps(request.get_json()) - data_dict = yaml.safe_load(data_json) - else: - abort(500, "the request does not contain data in json") +@api.route('/hosting_info', methods=['GET']) +def get_hosting_info(): + if request.method == 'GET': + if 'hosted_url' in request.args: + hosted_url = request.args['hosted_url'] + try: + current_app.logger.debug("execute get_hosting_info_by_hosted_url") + hosting_info = SystemInterface.get_hosting_info_by_hosted_url(hosted_url) + current_app.logger.debug("executed get_hosting_info_by_hosted_url") + return jsonify(hosting_info) - try: - current_app.logger.debug("execute add_hosting_info") - hosting_info = SystemInterface.add_hosting_info(data_dict) - current_app.logger.debug("executed add_hosting_info") - return jsonify(hosting_info) + except NotAuthorizedError as e: + current_app.logger.error("Exception = %s" % str(e)) + err_str = str(e) + msg = {"status": "failure", + "status code": 401, + "msg": err_str} + abort(401, msg) - except NotAuthorizedError as e: - current_app.logger.error("Exception = %s" % str(e)) - err_str = str(e) - msg = {"status": "failure", + except TypeError as e: + current_app.logger.error("Exception = %s" % str(e)) + err_str = str(e) + msg = {"status": "failure", + "msg": err_str } + abort(500, msg) + + except StateError as e: + current_app.logger.error("Exception = %s" % str(e)) + err_str = str(e) + msg = {"status": "failure", + "msg": err_str} + abort(500, msg) + + except NotFoundError as e: + current_app.logger.error("Exception = %s" % str(e)) + err_str = str(e) + msg = {"status": "failure", + "status code": 404, + "msg": err_str} + abort(404, msg) + + except Exception as e: + current_app.logger.error("Exception = %s" % str(e)) + err_str = str(e) + msg = {"status": "failure", + "msg": err_str} + abort(500, msg) + else: + try: + current_app.logger.debug("execute get_hosting_info") + hosting_info = SystemInterface.get_hosting_info() + current_app.logger.debug("executed get_hosting_info") + return pagination( + hosting_info, + '/hosting_info?', + start=int(request.args.get('page', 1)), + limit=int(request.args.get('pageSize', 25)) + ) + + except NotAuthorizedError as e: + current_app.logger.error("Exception = %s" % str(e)) + err_str = str(e) + msg = {"status": "failure", "status code": 401, "msg": err_str} - abort(401, msg) + abort(401, msg) - except TypeError as e: - current_app.logger.error("Exception = %s" % str(e)) - err_str = str(e) - msg = {"status": "failure", + except TypeError as e: + current_app.logger.error("Exception = %s" % str(e)) + err_str = str(e) + msg = {"status": "failure", "msg": err_str } - abort(500, msg) + abort(500, msg) - except StateError as e: - current_app.logger.error("Exception = %s" % str(e)) - err_str = str(e) - msg = {"status": "failure", + except StateError as e: + current_app.logger.error("Exception = %s" % str(e)) + err_str = str(e) + msg = {"status": "failure", "msg": err_str} - abort(500, msg) + abort(500, msg) - except NotFoundError as e: - current_app.logger.error("Exception = %s" % str(e)) - err_str = str(e) - msg = {"status": "failure", + except NotFoundError as e: + current_app.logger.error("Exception = %s" % str(e)) + err_str = str(e) + msg = {"status": "failure", "status code": 404, "msg": err_str} - abort(404, msg) + abort(404, msg) - except Exception as e: - current_app.logger.error("Exception = %s" % str(e)) - err_str = str(e) - msg = {"status": "failure", + except Exception as e: + current_app.logger.error("Exception = %s" % str(e)) + err_str = str(e) + msg = {"status": "failure", "msg": err_str} - abort(500, msg) + abort(500, msg) #+END_SRC @@ -6851,11 +6918,15 @@ def get_integration_status(): else: try: - current_app.logger.debug("execute get_integration_status") - integration_status = SystemInterface.get_integration_status() - current_app.logger.debug("executed get_integration_status") - return jsonify_list(integration_status) - + current_app.logger.debug("execute get_integration_status") + integration_status = SystemInterface.get_integration_status() + current_app.logger.debug("executed get_integration_status") + return pagination( + integration_status, + '/integration_status?', + start=int(request.args.get('page', 1)), + limit=int(request.args.get('pageSize', 25)) + ) except NotAuthorizedError as e: current_app.logger.error("Exception = %s" % str(e)) err_str = str(e) @@ -6892,6 +6963,7 @@ def get_integration_status(): msg = {"status": "failure", "msg": err_str} abort(500, msg) + #+END_SRC *** Test Cases @@ -7057,7 +7129,7 @@ class TestAddIntegration_Status(TestCase): #+END_SRC - + ** Get Emails *** API Design **** Get all Emails @@ -7135,10 +7207,15 @@ def get_email(): else: try: - current_app.logger.debug("execute get_emails") - emails = SystemInterface.get_emails() - current_app.logger.debug("executed get_emails") - return jsonify_list(emails) + current_app.logger.debug("execute get_emails") + emails = SystemInterface.get_emails() + current_app.logger.debug("executed get_emails") + return pagination( + emails, + '/emails?', + start=int(request.args.get('page', 1)), + limit=int(request.args.get('pageSize', 25)) + ) except TypeError as e: current_app.logger.error("Exception = %s" % str(e)) @@ -7168,6 +7245,7 @@ def get_email(): msg = {"status": "failure", "msg": err_str} abort(500, msg) + #+END_SRC *** Test Cases @@ -7374,7 +7452,12 @@ def get_names(): current_app.logger.debug("execute get_names") names = SystemInterface.get_names() current_app.logger.debug("executed get_names") - return jsonify_list(names) + return pagination( + names, + '/names?', + start=int(request.args.get('page', 1)), + limit=int(request.args.get('pageSize', 25)) + ) except TypeError as e: current_app.logger.error("Exception = %s" % str(e)) @@ -7405,6 +7488,7 @@ def get_names(): "msg": err_str} abort(500, msg) + #+END_SRC *** Test Cases @@ -7673,10 +7757,15 @@ def get_developer(): else: try: - current_app.logger.debug("execute get_developers") - developers = SystemInterface.get_developers() - current_app.logger.debug("executed get_developers") - return jsonify_list(developers) + current_app.logger.debug("execute get_developers") + developers = SystemInterface.get_developers() + current_app.logger.debug("executed get_developers") + return pagination( + developers, + '/developers?', + start=int(request.args.get('page', 1)), + limit=int(request.args.get('pageSize', 25)) + ) except TypeError as e: current_app.logger.error("Exception = %s" % str(e)) @@ -7706,6 +7795,8 @@ def get_developer(): msg = {"status": "failure", "msg": err_str} abort(500, msg) + + #+END_SRC *** Test Cases @@ -10934,10 +11025,15 @@ def get_asset(): abort(500, msg) else: try: - current_app.logger.debug("running operation get_assets") - assets = SystemInterface.get_assets() - current_app.logger.debug("completed operation get_assets") - return jsonify_list(assets) + current_app.logger.debug("running operation get_assets") + assets = SystemInterface.get_assets() + current_app.logger.debug("completed operation get_assets") + return pagination( + assets, + '/assets?', + start=int(request.args.get('page', 1)), + limit=int(request.args.get('pageSize', 25)) + ) except TypeError as e: current_app.logger.error("Exception = %s" % str(e)) @@ -10967,6 +11063,8 @@ def get_asset(): msg = {"status": "failure", "msg": err_str} abort(500, msg) + + #+END_SRC *** Test Cases @@ -11492,7 +11590,7 @@ if __name__ == '__main__': #+END_SRC - + * Tangle :boilerplate: ** sources From fe5c6ca16841c397e6e2a3c9d8d321cf625b69c0 Mon Sep 17 00:00:00 2001 From: madhavi Date: Tue, 26 Sep 2017 16:22:09 +0530 Subject: [PATCH 017/105] add phase table in object layer --- src/runtime/objects/entities.org | 51 +++++++++++++++++++++++++++++++- 1 file changed, 50 insertions(+), 1 deletion(-) diff --git a/src/runtime/objects/entities.org b/src/runtime/objects/entities.org index d6a0ab5..d2005a2 100755 --- a/src/runtime/objects/entities.org +++ b/src/runtime/objects/entities.org @@ -40,6 +40,7 @@ Discipline = ClassTemplate.mk_class("Discipline") Session = ClassTemplate.mk_class("Session") Section = ClassTemplate.mk_class("Section") Name = ClassTemplate.mk_class("Name") +Phase = ClassTemplate.mk_class("Phase") Email = ClassTemplate.mk_class("Email") Developer = ClassTemplate.mk_class("Developer") Institute = ClassTemplate.mk_class("Institute") @@ -102,6 +103,20 @@ def are_sections(sections): return ret_val +is_phase = is_inst(Phase) +check_phase = check_pred(is_phase) + +def are_phase(phase): + ret_val = True + if is_list(phase): + for phase_x in phase: + if not is_phase(phase_x): + ret_val = False + else: + ret_val = False + + return ret_val + is_developer = is_inst(Developer) check_dev = check_pred(is_developer) @@ -229,6 +244,7 @@ Lab.add_attributes(lab_name=is_str, overview=is_str, institute=is_institute, discipline=is_discipline, + phase=are_phase, assets=are_assets, integration_status=is_integration_status, experiments=are_experiments, @@ -242,6 +258,7 @@ Lab.__eq__ = lambda self, other: \ self.get("lab_id") == other.get("lab_id") and \ self.get("overview") == other.get("overview") and \ self.get("institute") == other.get("institute") and \ + self.get("phase") == other.get("phase") and \ self.get("discipline") == other.get("discipline") and \ self.get("assets") == other.get("assets") and \ self.get("sections") == other.get("sections") and \ @@ -286,6 +303,8 @@ class TestLab(TestCase): email_id = Email(email="mohit.tahiliani@gmail.com") dev = Developer(name=dev_name, email=email_id) + phase1=Phase(phase_id=1) + hosting_status = "hosted" hosted_url = "http://cse14-iiith.vlabs.ac.in" hosted_on = "cloud" @@ -306,7 +325,7 @@ class TestLab(TestCase): lab = Lab(lab_name=lab_name, lab_id=lab_id, overview=overview, institute=inst, discipline=discipline, assets=[asset], integration_status=integration_status, developers=[dev], - hosting_info=[host], sections=[], + hosting_info=[host], sections=[], phase=[phase1], experiments=[experiment]) self.assertEqual(lab.get("lab_name"), lab_name) @@ -530,6 +549,34 @@ class TestSession(TestCase): +* Phase + =Phase= is an entity that has a field =phase_id= which is integer +#+NAME: class_Phase +#+begin_src python + +Phase.add_attributes(phase_id=is_int) + +Phase.__eq__ = lambda self, other: \ + isinstance(other, self.__class__) and \ + self.get("phase_id") == other.get("phase_id") +#+end_src + +*** Test Phase +#+NAME: class_TestPhase +#+BEGIN_SRC python +class TestPhase(TestCase): + TESTING = True + + def test_object_phase(self): + print "test_object_phase" + phase1=Phase(phase_id=1) + self.assertEqual(is_phase(Phase(phase_id=1)), True) + self.assertEqual(phase1.get("phase_id"), 1) + self.assertRaises(TypeError, Phase, phase="Jimi 123 Hendrix") + +#+END_SRC + + * Name =Name= is an entity that has a field =name= which is string #+NAME: class_Name @@ -862,6 +909,7 @@ if __name__ == '__main__': <> <> <> +<> #+end_src @@ -870,6 +918,7 @@ if __name__ == '__main__': <> <> <> +<> <> <> <> From a72d97c3247e197c57b91599d7120419224e30c1 Mon Sep 17 00:00:00 2001 From: madhavi Date: Tue, 26 Sep 2017 16:41:54 +0530 Subject: [PATCH 018/105] add phase table in persistence layer --- src/runtime/persistence/entities.org | 69 +++++++++++++++++++++++++++- 1 file changed, 67 insertions(+), 2 deletions(-) diff --git a/src/runtime/persistence/entities.org b/src/runtime/persistence/entities.org index 14108e3..98770ed 100755 --- a/src/runtime/persistence/entities.org +++ b/src/runtime/persistence/entities.org @@ -34,6 +34,12 @@ lab_developers = db.Table('lab_developers', db.Column('developer_id', db.Integer, db.ForeignKey('developer.id'))) +lab_phase = db.Table('lab_phase', + db.Column('labid', db.Integer, + db.ForeignKey('lab.id')), + db.Column('phase_id', db.Integer, + db.ForeignKey('phase.id'))) + lab_hosting_info = db.Table('lab_hosting_info', db.Column('labid', db.Integer, db.ForeignKey('lab.id')), @@ -75,6 +81,11 @@ args = {"__tablename__": "lab", "developers": db.relationship('Developer', secondary=lab_developers, backref='labs'), + + "phase": db.relationship('Phase', + secondary=lab_phase, + backref='labs'), + "hosting_info": db.relationship('HostingInfo', secondary=lab_hosting_info, backref='labs'), @@ -152,6 +163,9 @@ class TestPersistentLab(TestCase): hosted_url=hosted_url, hosted_on=hosted_on) host.save() + phase1=Phase(phase_id=1) + phase1.save() + exp_name = "Number Systems" exp_id = "EE99777" overview = "This is linked list experiment" @@ -174,7 +188,7 @@ class TestPersistentLab(TestCase): lab1 = Lab(lab_name=lab_name1, lab_id=lab_id1, overview=overview1, experiments=[experiment], institute=inst, integration_status=intstatus, sections=[section], - assets=[asset], discipline=discipline, + assets=[asset], discipline=discipline, phase=[phase1], developers=[dev], hosting_info=[host]) lab1.save() @@ -186,7 +200,7 @@ class TestPersistentLab(TestCase): lab2 = Lab(lab_name=lab_name2, lab_id=lab_id2, overview=overview2, experiments=[], institute=inst, discipline=discipline, developers=[], hosting_info=[host], assets=[asset], - sections=[section], + sections=[section], phase=[phase1], integration_status=intstatus) lab2.save() @@ -214,6 +228,9 @@ class TestPersistentLab(TestCase): self.assertEqual(lab1.get("developers")[0].get("email").get("email"), email_id.get("email")) + self.assertEqual(lab1.get("phase")[0].get("phase_id"), + phase1.get("phase_id")) + self.assertEqual(lab1.get("hosting_info")[0].get("hosting_status"), host.get("hosting_status")) @@ -228,6 +245,9 @@ class TestPersistentLab(TestCase): host.get("hosting_status")) self.assertEqual(lab2.get("experiments"), []) + self.assertEqual(lab2.get("phase")[0].get("phase_id"), + phase1.get("phase_id")) + self.assertEqual(lab2.get("assets")[0].get("asset_type"), asset.get("asset_type")) self.assertEqual(lab2.get("integration_status").\ @@ -756,6 +776,49 @@ class TestPersistentDeveloper(TestCase): #+END_SRC +* Phase +=Phase= is a class with an attribute =phase_id= of type integer. + +#+NAME: class_Phase +#+begin_src python +args = {"__tablename__": "phase", + "id": db.Column(db.Integer, primary_key=True), + "phase_id": db.Column(db.Integer, unique=True) + } + +Phase = ClassPersistenceTemplate.mk_persistent(Phase, [], **args) +#+end_src + +*** Test Phase +#+NAME: class_TestPhase +#+BEGIN_SRC python +class TestPersistentPhase(TestCase): + TESTING = True + + def create_app(self): + app = create_app(config) + return app + + def setUp(self): + db.create_all() + + def tearDown(self): + db.session.remove() + db.drop_all() + + def test_create_phase(self): + print "test_persistent_phase" + + phase = Phase(phase_id=1) + phase.save() + + phase1 = Phase.get_by_id(1) + + self.assertEqual(phase1.get("phase_id"), phase.get("phase_id")) + +#+END_SRC + + * HostingInfo =HostingInfo= is a class with attributes =hosting_status= and =hosted_url=. @@ -1026,6 +1089,7 @@ if __name__ == '__main__': <> <> <> +<> <> #+end_src @@ -1045,6 +1109,7 @@ if __name__ == '__main__': <> <> <> +<> <> <> #+end_src From 319526dc91faf4db6f43792bc9b8aeaf57e08fb0 Mon Sep 17 00:00:00 2001 From: madhavi Date: Thu, 28 Sep 2017 12:58:11 +0530 Subject: [PATCH 019/105] add phase in persistence delegate --- src/data-model/index.org | 12 + src/runtime/system/persistence-delegate.org | 292 ++++++++++++++------ 2 files changed, 221 insertions(+), 83 deletions(-) diff --git a/src/data-model/index.org b/src/data-model/index.org index 3fa953e..4b6f2db 100755 --- a/src/data-model/index.org +++ b/src/data-model/index.org @@ -176,6 +176,17 @@ TYPE HostingInfo TYPE Asset #+END_SRC +*** Phase +:PROPERTIES: +:CUSTOM_ID: entity_phase +:END: + Requirement satisfied: [[../requirements/index.org::#req1][Phase]] + +#+BEGIN_SRC spec :tangle spec.txt +;;; Entity Types +TYPE Name +#+END_SRC + *** IntegrationStatus :PROPERTIES: :CUSTOM_ID: entity_Integration_Status @@ -210,6 +221,7 @@ TYPE IntegrationStatus [hostinginfo, lab] : HostingInfo + > Lab ! [asset, lab] : Asset + > Lab ! [integrationstatus, lab] : IntegrationStatus ! > Lab * +[phase, lab] : Phase + > Lab + [discipline, experiment] : Discipline + > Experiment + [institute, experiment] : Institute ! > Experiment + diff --git a/src/runtime/system/persistence-delegate.org b/src/runtime/system/persistence-delegate.org index 2c80152..a2beddf 100755 --- a/src/runtime/system/persistence-delegate.org +++ b/src/runtime/system/persistence-delegate.org @@ -35,7 +35,8 @@ class PersistenceDelegate(): 'integration_status': IntegrationStatus, 'name' : Name, 'email' : Email, - 'developer' : Developer + 'developer' : Developer, + 'phase': Phase } #+END_SRC @@ -68,36 +69,6 @@ class TestPersistenceDelegate(TestCase): Other functions that help =System= perform the operations. -*** Check if entity already exists - The following three functions checks whether the given entity exists or - not. To optimize the code, apply the following three principles: - - 1) *Observe Pattern* : observe the common =pattern/code= in the given three functions. - 2) *Abstract Structure* : extract the common =pattern/code= and replace the - common functionality with a new function definition. - 3) *Mapping* : Now map the 3 functions to the common function in such a way - that it should return the appropriate solution. - - By applying the above three principles on the below 3 functions, we get the - following fourth function. -**** Check if =entity= already exists - This function checks if an =entity= is already in the exists in the =System=. -#+NAME: persistence_entity_exists -#+BEGIN_SRC python - def entity_exists(self, cls_name, id): - ret_val = False - - try: - if cls_name.get_by_id(id) is not None: - ret_val = True - except Exception as e: - pass - - return ret_val - -#+END_SRC - - *** Check if =lab= already exists This function checks if a lab is already in the lab-set of the =System=. #+NAME: persistence_lab_exists @@ -288,8 +259,10 @@ class TestPersistenceDelegate(TestCase): #+END_SRC + *** Check if =experiment= already exists + This function checks if a user is already in the user-set of the =System=. #+NAME: persistence_experiment_exists #+BEGIN_SRC python @@ -759,6 +732,50 @@ class TestPersistenceDelegate(TestCase): #+END_SRC +*** Check if =phase= already exists + + This function checks if a =phase= is already in the phase-set of the =System=. +#+NAME: persistence_phase_exists +#+BEGIN_SRC python + def phase_exists(self, phase): + ret_val = False + try: + current_app.logger.debug("running check on the" + " existence of phase") + if self.get_phase(phase_id=phase.get\ + ("phase_id")) is not None: + ret_val = True + current_app.logger.debug("completed check on" + " the existence of" + " phase") + except Exception as e: + current_app.logger.error("Error in returning" + " the phase %s" + %str(e)) + + return ret_val + +#+END_SRC + +**** Tests +#+NAME: test_persistence_phase_exists +#+BEGIN_SRC python + def test_phase_exists(self): + print "test_phase_exists" + + phase1 = Phase(phase_id=1) + phase1.save() + + phase2 = Phase(phase_id=2) + + self.assertEqual(self.persistence_delegate.\ + phase_exists(phase1), True) + self.assertEqual(self.persistence_delegate.\ + phase_exists(phase2), False) + +#+END_SRC + + *** Add lab to the system This function adds lab to the system. #+NAME: persistence_add_lab @@ -1223,7 +1240,7 @@ class TestPersistenceDelegate(TestCase): #+END_SRC -*** Add institute to the system +*** Add institute to the system This function adds institute to the system. #+NAME: persistence_add_institute @@ -1274,7 +1291,7 @@ class TestPersistenceDelegate(TestCase): #+END_SRC -*** Add hosting_info to the system +*** Add hosting_info to the system This function adds hosting_info to the system. #+NAME: persistence_add_hosting_info @@ -1321,7 +1338,7 @@ class TestPersistenceDelegate(TestCase): #+END_SRC -*** Add asset type to the system +*** Add asset type to the system This function adds asset to the system. #+NAME: persistence_add_asset_type @@ -1356,7 +1373,7 @@ class TestPersistenceDelegate(TestCase): #+END_SRC -*** Add asset to the system +*** Add asset to the system This function adds asset to the system. #+NAME: persistence_add_asset @@ -1408,8 +1425,7 @@ class TestPersistenceDelegate(TestCase): #+END_SRC -*** Add integration_status to the system - +*** Add integration_status to the system This function adds integration_status to the system. #+NAME: persistence_add_integration_status #+BEGIN_SRC python @@ -1448,7 +1464,40 @@ class TestPersistenceDelegate(TestCase): #+END_SRC -*** Update lab +*** Add phase to the system + This function adds phase to the system. +#+NAME: persistence_add_phase +#+BEGIN_SRC python + def add_phase(self, phase): + current_app.logger.debug("running add phase to" + " system operation" + " phase = %s" + % phase.to_client()) + phase.save() + current_app.logger.debug("completed add" + " phase to system" + " operation phase = %s" + % phase.to_client()) + return phase + +#+END_SRC + + +**** Tests +#+NAME: test_persistence_add_phase +#+BEGIN_SRC python + def test_add_phase(self): + print "test_add_phase" + phase1 = Phase(phase_id=1) + phase = self.persistence_delegate.add_phase(phase1) + phase = phase.get_by_id(1) + self.assertEqual(phase.get("phase_id"), + phase.get("phase_id")) + +#+END_SRC + + +*** Update lab This function updates existing lab. #+NAME: persistence_update_lab #+BEGIN_SRC python @@ -1632,7 +1681,7 @@ class TestPersistenceDelegate(TestCase): #+END_SRC -*** Update Experiment +*** Update Experiment This function updates existing experiment. #+NAME: persistence_update_experiment #+BEGIN_SRC python @@ -1792,7 +1841,7 @@ class TestPersistenceDelegate(TestCase): #+END_SRC -*** Update Discipline +*** Update Discipline This function updates existing discipline. #+NAME: persistence_update_discipline #+BEGIN_SRC python @@ -1846,7 +1895,7 @@ class TestPersistenceDelegate(TestCase): -*** Update Section +*** Update Section This function updates existing section. #+NAME: persistence_update_section #+BEGIN_SRC python @@ -1880,7 +1929,9 @@ class TestPersistenceDelegate(TestCase): #+END_SRC -*** Update developer + +*** Update developer + This function updates existing developer. #+NAME: persistence_update_developer #+BEGIN_SRC python @@ -1921,7 +1972,7 @@ class TestPersistenceDelegate(TestCase): #+END_SRC -*** Update Institute +*** Update Institute This function updates existing institute. #+NAME: persistence_update_institute #+BEGIN_SRC python @@ -1978,7 +2029,7 @@ class TestPersistenceDelegate(TestCase): #+END_SRC -*** Update HostingInfo +*** Update HostingInfo This function updates existing hosting_info. #+NAME: persistence_update_hosting_info #+BEGIN_SRC python @@ -2023,7 +2074,7 @@ class TestPersistenceDelegate(TestCase): #+END_SRC -*** Update Asset +*** Update Asset This function updates existing asset. #+NAME: persistence_update_asset #+BEGIN_SRC python @@ -2066,7 +2117,7 @@ class TestPersistenceDelegate(TestCase): #+END_SRC -*** Delete lab +*** Delete lab This function delete existing lab. #+NAME: persistence_delete_lab #+BEGIN_SRC python @@ -2171,7 +2222,7 @@ class TestPersistenceDelegate(TestCase): #+END_SRC -*** Delete Experiment +*** Delete Experiment This function delete existing experiment. #+NAME: persistence_delete_experiment #+BEGIN_SRC python @@ -2271,7 +2322,7 @@ class TestPersistenceDelegate(TestCase): #+END_SRC -*** Delete Discipline +*** Delete Discipline This function delete existing Discipline. #+NAME: persistence_delete_discipline #+BEGIN_SRC python @@ -2328,7 +2379,7 @@ class TestPersistenceDelegate(TestCase): #+END_SRC -*** Delete Section +*** Delete Section This function delete existing section. #+NAME: persistence_delete_section #+BEGIN_SRC python @@ -2372,7 +2423,7 @@ class TestPersistenceDelegate(TestCase): #+END_SRC -*** Delete Name +*** Delete Name This function delete existing name. #+NAME: persistence_delete_name #+BEGIN_SRC python @@ -2417,7 +2468,7 @@ class TestPersistenceDelegate(TestCase): #+END_SRC -*** Delete Email +*** Delete Email This function delete existing email. #+NAME: persistence_delete_email #+BEGIN_SRC python @@ -2460,7 +2511,7 @@ class TestPersistenceDelegate(TestCase): #+END_SRC -*** Delete Developer +*** Delete Developer This function delete existing developer. #+NAME: persistence_delete_developer #+BEGIN_SRC python @@ -2518,7 +2569,7 @@ class TestPersistenceDelegate(TestCase): #+END_SRC -*** Delete Institute +*** Delete Institute This function deletes existing institute. #+NAME: persistence_delete_institute #+BEGIN_SRC python @@ -2578,7 +2629,7 @@ class TestPersistenceDelegate(TestCase): #+END_SRC -*** Delete HostingInfo +*** Delete HostingInfo This function deletes existing hosting_info. #+NAME: persistence_delete_hosting_info #+BEGIN_SRC python @@ -2634,7 +2685,7 @@ class TestPersistenceDelegate(TestCase): #+END_SRC -*** Delete Asset +*** Delete Asset This function delete existing asset. #+NAME: persistence_delete_asset #+BEGIN_SRC python @@ -2689,7 +2740,7 @@ class TestPersistenceDelegate(TestCase): -*** Delete IntegrationStatus +*** Delete IntegrationStatus This function deletes existing integration_status. #+NAME: persistence_delete_integration_status #+BEGIN_SRC python @@ -2741,7 +2792,48 @@ class TestPersistenceDelegate(TestCase): -*** Add experiments to a Lab +*** Delete Phase + This function delete existing phase. +#+NAME: persistence_delete_phase +#+BEGIN_SRC python + def delete_phase(self, ph_id): + current_app.logger.debug("running delete on phase") + record = Phase.get_by_id(ph_id) + if not record: + abort(404, 'No Phase with id %s' % (ph_id)) + else: + try: + record.delete() + current_app.logger.debug("completed delete" + " on phase") + except Exception, e: + current_app.logger.error("Exception = %s" % str(e)) + print e + abort(500, str(e)) + + return ph_id + +#+END_SRC + +**** Tests +#+NAME: test_persistence_delete_phase +#+BEGIN_SRC python + def test_delete_phase(self): + print "test_delete_phase" + phase1 = Phase(phase_id=1) + phase1.save() + + phase2 = Phase(phase_id=2) + phase2.save() + + self.persistence_delegate.delete_phase(2) + + self.assertEqual(len(Phase.get_all()), 1) + +#+END_SRC + + +*** Add experiments to a Lab This function adds experiments to a given lab. #+NAME: persistence_add_experiments_to_lab #+BEGIN_SRC python @@ -2855,7 +2947,7 @@ class TestPersistenceDelegate(TestCase): #+END_SRC -*** Add assets to a Lab +*** Add assets to a Lab This function adds assets to a given lab. #+NAME: persistence_add_assets_to_lab #+BEGIN_SRC python @@ -2966,7 +3058,7 @@ class TestPersistenceDelegate(TestCase): #+END_SRC -*** Add labs to an Institute +*** Add labs to an Institute This function adds labs to a given institute. #+NAME: persistence_add_labs_to_institute #+BEGIN_SRC python @@ -3064,7 +3156,7 @@ class TestPersistenceDelegate(TestCase): #+END_SRC -*** Add sections to a Experiment +*** Add sections to a Experiment This function adds sections to a given experiment. #+NAME: persistence_add_sections_to_experiment #+BEGIN_SRC python @@ -3158,7 +3250,7 @@ class TestPersistenceDelegate(TestCase): #+END_SRC -*** Get an object +*** Get an object A generic function to find an object of type =cls= matching a given a criteria #+NAME: persistence_get_object @@ -3175,7 +3267,7 @@ class TestPersistenceDelegate(TestCase): #+END_SRC -*** Get Lab +*** Get Lab This function returns a lab if present in the database. If the lab is not present, =None= type is returned. #+NAME: persistence_get_lab @@ -3256,7 +3348,7 @@ class TestPersistenceDelegate(TestCase): -*** Get AssetType +*** Get AssetType This function returns a lab if present in the database. If the lab is not present, =None= type is returned. #+NAME: persistence_get_asset_type @@ -3336,7 +3428,7 @@ class TestPersistenceDelegate(TestCase): #+END_SRC -*** Get Section +*** Get Section This function returns a section if present in the database. If the lab is not present, =None= type is returned. #+NAME: persistence_get_section @@ -3366,7 +3458,7 @@ class TestPersistenceDelegate(TestCase): -*** Get Name +*** Get Name This function returns a name if present in the database. If the name is not present, =None= type is returned. #+NAME: persistence_get_name @@ -3396,7 +3488,7 @@ class TestPersistenceDelegate(TestCase): -*** Get Email +*** Get Email This function returns a email if present in the database. If the email is not present, =None= type is returned. #+NAME: persistence_get_email @@ -3426,7 +3518,7 @@ class TestPersistenceDelegate(TestCase): -*** Get Developer +*** Get Developer This function returns a developer if present in the database. If the developer is not present, =None= type is returned. #+NAME: persistence_get_developer @@ -3478,7 +3570,7 @@ class TestPersistenceDelegate(TestCase): -*** Get Experiment +*** Get Experiment This function returns experiment if present in the database. If the experiment is not present, =None= type is returned. #+NAME: persistence_get_experiment @@ -3555,7 +3647,7 @@ class TestPersistenceDelegate(TestCase): -*** Get Institute +*** Get Institute This function returns institute if present in the database. If the institute is not present, =None= type is returned. #+NAME: persistence_get_institute @@ -3597,7 +3689,7 @@ class TestPersistenceDelegate(TestCase): #+END_SRC -*** Get Discipline +*** Get Discipline This function returns discipline if present in the database. If the discipline is not present, =None= type is returned. #+NAME: persistence_get_discipline @@ -3636,7 +3728,7 @@ class TestPersistenceDelegate(TestCase): #+END_SRC -*** Get Asset +*** Get Asset This function returns asset if present in the database. If the asset is not present, =None= type is returned. #+NAME: persistence_get_asset @@ -3670,7 +3762,7 @@ class TestPersistenceDelegate(TestCase): -*** Get Labs +*** Get Labs This function returns all labs if present in the database. If the labs are not present, =None= type is returned. #+NAME: persistence_get_labs @@ -3977,7 +4069,7 @@ class TestPersistenceDelegate(TestCase): #+END_SRC -*** Get Institutes +*** Get Institutes This function returns all institutes if present in the database. If institutes are not present, =None= type is returned. #+NAME: persistence_get_institutes @@ -4030,7 +4122,7 @@ class TestPersistenceDelegate(TestCase): #+END_SRC -*** Get HostingInfo +*** Get HostingInfo This function returns hosting_info if present in the database. If the hosting_info is not present, =None= type is returned. #+NAME: persistence_get_hosting_info @@ -4074,7 +4166,7 @@ class TestPersistenceDelegate(TestCase): #+END_SRC -*** Get IntegrationStatus +*** Get IntegrationStatus This function returns integration_status if present in the database. If the integration_status is not present, =None= type is returned. #+NAME: persistence_get_integration_status @@ -4104,7 +4196,7 @@ class TestPersistenceDelegate(TestCase): #+END_SRC -*** Get Assets +*** Get Assets This function returns all assets if present in the database. If assets are not present, =None= type is returned. #+NAME: persistence_get_assets @@ -4150,7 +4242,34 @@ class TestPersistenceDelegate(TestCase): #+END_SRC -*** Get Lab By ID +*** Get Phase + This function returns a phase if present in the database. If the phase is + not present, =None= type is returned. +#+NAME: persistence_get_phase +#+BEGIN_SRC python + def get_phase(self, **kwargs): + return self.get_object(Phase, **kwargs) + +#+END_SRC + +**** Tests +#+NAME: test_persistence_get_phase +#+BEGIN_SRC python + def test_get_phase(self): + print "test_get_phase" + phase1 = Phase(phase_id=1) + phase1.save() + + phase_obj = self.persistence_delegate.get_phase\ + (phase_id=phase1.get("phase_id") + self.assertEqual(phase_obj.get("phase_id"), + phase1.get("phase_id")) + +#+END_SRC + + + +*** Get Lab By ID This function returns a lab object by an ID if present in database, otherwise, =None= type is returned. #+NAME: persistence_get_lab_by_id @@ -4237,7 +4356,7 @@ class TestPersistenceDelegate(TestCase): -*** Get Experiment By ID +*** Get Experiment By ID This function returns a experiment object by an ID if present in database, otherwise, =None= type is returned. @@ -4321,7 +4440,7 @@ class TestPersistenceDelegate(TestCase): #+END_SRC -*** Get Institute By ID +*** Get Institute By ID This function returns an institute object by an ID if present in database, otherwise, =None= type is returned. @@ -4367,7 +4486,7 @@ class TestPersistenceDelegate(TestCase): #+END_SRC -*** Get Discipline By ID +*** Get Discipline By ID This function returns an discipline object by an ID if present in database, otherwise, =None= type is returned. @@ -4412,7 +4531,7 @@ class TestPersistenceDelegate(TestCase): #+END_SRC -*** Update Name +*** Update Name This function updates existing name. #+NAME: persistence_update_name #+BEGIN_SRC python @@ -4522,6 +4641,7 @@ if __name__ == '__main__': <> <> <> +<> <> <> @@ -4561,19 +4681,21 @@ if __name__ == '__main__': <> <> <> +<> <> <> <> <> +<> <> <> <> <> <> - +<> #+end_src @@ -4605,8 +4727,9 @@ if __name__ == '__main__': <> <> <> - +<> <> + <> <> <> @@ -4616,6 +4739,7 @@ if __name__ == '__main__': <> #<> <> +<> <> <> @@ -4654,7 +4778,9 @@ if __name__ == '__main__': <> <> <> +<> +<> <> <> <> From 740ef40f2c70c390e1033a69dfca8c31304691b6 Mon Sep 17 00:00:00 2001 From: madhavi Date: Thu, 28 Sep 2017 13:31:04 +0530 Subject: [PATCH 020/105] add phase to lab entity in persistence delegate --- src/runtime/system/persistence-delegate.org | 413 ++++++++++++++------ 1 file changed, 283 insertions(+), 130 deletions(-) diff --git a/src/runtime/system/persistence-delegate.org b/src/runtime/system/persistence-delegate.org index a2beddf..ea592fd 100755 --- a/src/runtime/system/persistence-delegate.org +++ b/src/runtime/system/persistence-delegate.org @@ -135,11 +135,16 @@ class TestPersistenceDelegate(TestCase): section = Section(name=name) section.save() + phase1=Phase(phase_id=1) + phase1.save() - lab = Lab(lab_name=lab_name1, lab_id=lab_id1, overview=overview1, - institute=inst, discipline=discipline, assets=[asset], - experiments=[], integration_status=integration_status, - developers=[dev], sections=[section],hosting_info=[host]) + lab = Lab(lab_name=lab_name1, lab_id=lab_id1, + overview=overview1, institute=inst, + discipline=discipline, assets=[asset], + experiments=[], phase=[phase1], + integration_status=integration_status, + developers=[dev], sections=[section], + hosting_info=[host]) lab1 = self.persistence_delegate.add_lab(lab) @@ -147,10 +152,15 @@ class TestPersistenceDelegate(TestCase): lab_id2="CSE02" overview2 = "overview" - lab2 = Lab(lab_name=lab_name2, lab_id=lab_id2, overview=overview2, - integration_status=integration_status, sections=[section], - institute=inst, discipline=discipline, assets=[asset], - experiments=[], developers=[dev], hosting_info=[host]) + lab2 = Lab(lab_name=lab_name2, lab_id=lab_id2, + overview=overview2, + integration_status=integration_status, + sections=[section], phase=[phase1], + institute=inst, + discipline=discipline, + assets=[asset], + experiments=[], developers=[dev], + hosting_info=[host]) self.assertEqual(self.persistence_delegate.lab_exists(lab1), True) @@ -808,6 +818,9 @@ class TestPersistenceDelegate(TestCase): asset = Asset(asset_type=asset_type, path=path) asset.save() + phase1=Phase(phase_id=1) + phase1.save() + institute_name = "IIT Kanpur" institute_id = "IITK" inst = Institute(institute_name=institute_name, @@ -855,12 +868,15 @@ class TestPersistenceDelegate(TestCase): section = Section(name=name) section.save() - lab1 = Lab(lab_name=lab_name1, lab_id=lab_id1, \ - institute=inst, discipline=discipline,\ - assets=[asset], overview=overview,\ - experiments=[experiment], sections=[section], \ - integration_status=integration_status,\ - developers=[dev], hosting_info=[host]) + lab1 = Lab(lab_name=lab_name1, lab_id=lab_id1, + institute=inst, + discipline=discipline, + assets=[asset], overview=overview, + experiments=[experiment], + sections=[section], phase=[phase1], + integration_status=integration_status, + developers=[dev], + hosting_info=[host]) lab1 = self.persistence_delegate.add_lab(lab1) @@ -868,15 +884,19 @@ class TestPersistenceDelegate(TestCase): lab_id2="CSE02" overview="lab overview" - lab2 = Lab(lab_name=lab_name2, lab_id=lab_id2, overview=overview, - institute=inst, discipline=discipline, assets=[asset], - experiments=[], integration_status=integration_status, - developers=[dev], sections=[section], hosting_info=[host]) + lab2 = Lab(lab_name=lab_name2, lab_id=lab_id2, + overview=overview, assets=[asset], + institute=inst, experiments=[], + discipline=discipline, + integration_status=integration_status, + developers=[dev], phase=[phase1], + sections=[section], + hosting_info=[host]) - self.assertEqual(self.persistence_delegate.lab_exists(lab1), - True) - self.assertEqual(self.persistence_delegate.lab_exists(lab2), - False) + self.assertEqual(self.persistence_delegate.\ + lab_exists(lab1), True) + self.assertEqual(self.persistence_delegate.\ + lab_exists(lab2), False) #+END_SRC @@ -1569,7 +1589,6 @@ class TestPersistenceDelegate(TestCase): hosted_on=hosted_on) host.save() - exp_name = "Data Structures" exp_id = "cse01" overview = "overview" @@ -1587,10 +1606,17 @@ class TestPersistenceDelegate(TestCase): section = Section(name=name) section.save() - lab = Lab(lab_name=lab_name, lab_id=lab_id, overview=overview, - institute=inst, discipline=discipline, - assets=[asset], hosting_info=[host], sections=[section], - experiments=[exp1], developers=[dev], + phase1=Phase(phase_id=1) + phase1.save() + + lab = Lab(lab_name=lab_name, lab_id=lab_id, + overview=overview, + institute=inst, + discipline=discipline, + assets=[asset], hosting_info=[host], + sections=[section], + experiments=[exp1], phase=[phase1], + developers=[dev], integration_status=integration_status) lab1 = self.persistence_delegate.add_lab(lab) @@ -2196,10 +2222,16 @@ class TestPersistenceDelegate(TestCase): section = Section(name=name) section.save() - lab = Lab(lab_name=lab_name, lab_id=lab_id, overview=overview, - institute=inst, discipline=discipline, + phase1=Phase(phase_id=1) + phase1.save() + + lab = Lab(lab_name=lab_name, lab_id=lab_id, + overview=overview, + institute=inst, + discipline=discipline, hosting_info=[host], assets=[asset], - experiments=[], developers=[dev], sections=[section], + experiments=[], developers=[dev], + sections=[section], phase=[phase1], integration_status=integration_status) lab1 = self.persistence_delegate.add_lab(lab) @@ -2208,10 +2240,16 @@ class TestPersistenceDelegate(TestCase): lab_id1 = "cse02" overview = "overview" - lab1 = Lab(lab_name=lab_name1, lab_id=lab_id1, overview=overview, - institute=inst, discipline=discipline, assets=[asset], - experiments=[], integration_status=integration_status, - developers=[dev], hosting_info=[host], sections=[section]) + lab1 = Lab(lab_name=lab_name1, lab_id=lab_id1, + overview=overview, + institute=inst, + discipline=discipline, + assets=[asset], + experiments=[], phase=[phase1], + integration_status=integration_status, + developers=[dev], + hosting_info=[host], + sections=[section]) lab2 = self.persistence_delegate.add_lab(lab1) @@ -2882,18 +2920,21 @@ class TestPersistenceDelegate(TestCase): institute_name = "IIT Kanpur" institute_id = "IITK" - inst = Institute(institute_name=institute_name, institute_id=institute_id, assets=[asset]) + inst = Institute(institute_name=institute_name, + institute_id=institute_id, + assets=[asset]) inst.save() discipline_name = "IIT Kanpur" discipline_id = "IITK" - discipline = Discipline(discipline_name=discipline_name, discipline_id=discipline_id, - assets=[asset]) + discipline = Discipline(discipline_name=discipline_name, + discipline_id=discipline_id, + assets=[asset]) discipline.save() integration_level = 4 integration_status = IntegrationStatus(integration_level= - integration_level) + integration_level) integration_status.save() dev_name = Name(name="Mohit Tahiliani") @@ -2915,10 +2956,16 @@ class TestPersistenceDelegate(TestCase): section = Section(name=name) section.save() - lab = Lab(lab_name=lab_name, lab_id=lab_id, overview=overview, - institute=inst, discipline=discipline, + phase1=Phase(phase_id=1) + phase1.save() + + lab = Lab(lab_name=lab_name, lab_id=lab_id, + overview=overview, + institute=inst, + discipline=discipline, hosting_info=[host], assets=[asset], - experiments=[], developers=[dev], sections=[section], + experiments=[], developers=[dev], + sections=[section], phase=[phase1], integration_status=integration_status) lab.save() @@ -2926,11 +2973,15 @@ class TestPersistenceDelegate(TestCase): exp_name = "Number Systems" exp_id = "EE99777" overview = "overview" - experiment = Experiment(exp_name=exp_name, exp_id=exp_id, \ - overview=overview, sections=[], - institute=inst, discipline=discipline, + experiment = Experiment(exp_name=exp_name, + exp_id=exp_id, + overview=overview, + sections=[], + institute=inst, + discipline=discipline, integration_status=integration_status, - assets=[asset], developers=[dev], + assets=[asset], + developers=[dev], hosting_info=[host]) experiment.save() @@ -3103,18 +3154,21 @@ class TestPersistenceDelegate(TestCase): institute_name = "IIT Kanpur" institute_id = "IITK" - inst = Institute(institute_name=institute_name, institute_id=institute_id, assets=[asset]) + inst = Institute(institute_name=institute_name, + institute_id=institute_id, + assets=[asset]) inst.save() discipline_name = "IIT Kanpur" discipline_id = "IITK" - discipline = Discipline(discipline_name=discipline_name, discipline_id=discipline_id, - assets=[asset]) + discipline = Discipline(discipline_name=discipline_name, + discipline_id=discipline_id, + assets=[asset]) discipline.save() integration_level = 4 integration_status = IntegrationStatus(integration_level= - integration_level) + integration_level) integration_status.save() dev_name = Name(name="Mohit Tahiliani") @@ -3136,10 +3190,18 @@ class TestPersistenceDelegate(TestCase): section = Section(name=name) section.save() - lab = Lab(lab_name=lab_name, lab_id=lab_id, overview=overview, - institute=inst, discipline=discipline,sections=[section], - hosting_info=[host], assets=[], experiments=[], - developers=[dev], integration_status=integration_status) + phase1=Phase(phase_id=1) + phase1.save() + + lab = Lab(lab_name=lab_name, lab_id=lab_id, + overview=overview, + institute=inst, + discipline=discipline, + sections=[section], + hosting_info=[host], assets=[], + experiments=[], phase=[phase1], + developers=[dev], + integration_status=integration_status) lab.save() @@ -3298,18 +3360,21 @@ class TestPersistenceDelegate(TestCase): institute_name = "IIT Kanpur" institute_id = "IITK" - inst = Institute(institute_name=institute_name, institute_id=institute_id, assets=[asset]) + inst = Institute(institute_name=institute_name, + institute_id=institute_id, + assets=[asset]) inst.save() discipline_name = "IIT Kanpur" discipline_id = "IITK" - discipline = Discipline(discipline_name=discipline_name, discipline_id=discipline_id, - assets=[asset]) + discipline = Discipline(discipline_name=discipline_name, + discipline_id=discipline_id, + assets=[asset]) discipline.save() integration_level = 4 - integration_status = IntegrationStatus(integration_level= - integration_level) + integration_status = IntegrationStatus\ + (integration_level=integration_level) integration_status.save() dev_name = Name(name="Mohit Tahiliani") @@ -3331,10 +3396,16 @@ class TestPersistenceDelegate(TestCase): section = Section(name=name) section.save() - lab = Lab(lab_name=lab_name1, lab_id=lab_id1, overview=overview, - institute=inst, discipline=discipline, + phase1=Phase(phase_id=1) + phase1.save() + + lab = Lab(lab_name=lab_name1, lab_id=lab_id1, + overview=overview, + institute=inst, + discipline=discipline, hosting_info=[host], assets=[asset], - experiments=[], developers=[dev], sections=[section], + experiments=[], developers=[dev], + sections=[section], phase=[phase1], integration_status=integration_status) lab.save() @@ -3412,9 +3483,12 @@ class TestPersistenceDelegate(TestCase): section = Section(name=name) section.save() + phase1=Phase(phase_id=1) + phase1.save() + lab = Lab(lab_name=lab_name1, lab_id=lab_id1, overview=overview, institute=inst, discipline=discipline, - hosting_info=[host], assets=[asset], + hosting_info=[host], assets=[asset], phase=[phase1], experiments=[], developers=[dev], sections=[section], integration_status=integration_status) @@ -3800,18 +3874,21 @@ class TestPersistenceDelegate(TestCase): institute_name = "IIT Kanpur" institute_id = "IITK" - inst = Institute(institute_name=institute_name, institute_id=institute_id, assets=[asset]) + inst = Institute(institute_name=institute_name, + institute_id=institute_id, + assets=[asset]) inst.save() discipline_name = "IIT Kanpur" discipline_id = "IITK" - discipline = Discipline(discipline_name=discipline_name, discipline_id=discipline_id, - assets=[asset]) + discipline = Discipline(discipline_name=discipline_name, + discipline_id=discipline_id, + assets=[asset]) discipline.save() integration_level = 4 - integration_status = IntegrationStatus(integration_level= - integration_level) + integration_status = IntegrationStatus\ + (integration_level=integration_level) integration_status.save() dev_name = Name(name="Mohit Tahiliani") @@ -3833,10 +3910,16 @@ class TestPersistenceDelegate(TestCase): section = Section(name=name) section.save() - lab1 = Lab(lab_name=lab_name1, lab_id=lab_id1, overview=overview, - institute=inst, discipline=discipline, + phase1=Phase(phase_id=1) + phase1.save() + + lab1 = Lab(lab_name=lab_name1, lab_id=lab_id1, + overview=overview, + institute=inst, + discipline=discipline, hosting_info=[host], assets=[asset], - experiments=[], developers=[dev], sections=[section], + experiments=[], developers=[dev], + sections=[section], phase=[phase1], integration_status=integration_status) lab1.save() @@ -3845,17 +3928,26 @@ class TestPersistenceDelegate(TestCase): lab_id2="CSE02" - lab2 = Lab(lab_name=lab_name2, lab_id=lab_id2, overview=overview, \ - institute=inst, discipline=discipline, assets=[asset],\ - experiments=[], integration_status=integration_status, - developers=[dev], hosting_info=[host], sections=[section]) + lab2 = Lab(lab_name=lab_name2, lab_id=lab_id2, + overview=overview, + institute=inst, + discipline=discipline, + assets=[asset], + experiments=[], phase=[phase1], + integration_status=integration_status, + developers=[dev], + hosting_info=[host], + sections=[section]) lab2.save() - labs_list = self.persistence_delegate.get_labs(overview=overview) + labs_list = self.persistence_delegate.\ + get_labs(overview=overview) - self.assertEqual(labs_list[0].get("overview"), overview) - self.assertEqual(labs_list[1].get("overview"), overview) + self.assertEqual(labs_list[0].get("overview"), + overview) + self.assertEqual(labs_list[1].get("overview"), + overview) def test_get_lab_with_given_lab_id(self): print "test_get_lab_with_given_lab_id" @@ -3872,18 +3964,21 @@ class TestPersistenceDelegate(TestCase): institute_name = "IIT Kanpur" institute_id = "IITK" - inst = Institute(institute_name=institute_name, institute_id=institute_id, assets=[asset]) + inst = Institute(institute_name=institute_name, + institute_id=institute_id, + assets=[asset]) inst.save() discipline_name = "IIT Kanpur" discipline_id = "IITK" - discipline = Discipline(discipline_name=discipline_name, discipline_id=discipline_id, - assets=[asset]) + discipline = Discipline(discipline_name=discipline_name, + discipline_id=discipline_id, + assets=[asset]) discipline.save() integration_level = 4 - integration_status = IntegrationStatus(integration_level= - integration_level) + integration_status = IntegrationStatus\ + (integration_level=integration_level) integration_status.save() dev_name = Name(name="Mohit Tahiliani") @@ -3905,10 +4000,16 @@ class TestPersistenceDelegate(TestCase): section = Section(name=name) section.save() - lab1 = Lab(lab_name=lab_name1, lab_id=lab_id1, overview=overview, - institute=inst, discipline=discipline, + phase1=Phase(phase_id=1) + phase1.save() + + lab1 = Lab(lab_name=lab_name1, lab_id=lab_id1, + overview=overview, + institute=inst, + discipline=discipline, hosting_info=[host], assets=[asset], - experiments=[], developers=[dev], sections=[section], + experiments=[], developers=[dev], + sections=[section], phase=[phase1], integration_status=integration_status) lab1.save() @@ -3916,16 +4017,24 @@ class TestPersistenceDelegate(TestCase): lab_name2="Data Structures" lab_id2="CSE02" - lab2 = Lab(lab_name=lab_name2, lab_id=lab_id2, overview=overview, \ - institute=inst, discipline=discipline, assets=[asset],\ - experiments=[], integration_status=integration_status,\ - developers=[dev], sections=[section], hosting_info=[host]) + lab2 = Lab(lab_name=lab_name2, lab_id=lab_id2, + overview=overview, + institute=inst, + discipline=discipline, + assets=[asset], + experiments=[], phase=[phase1], + integration_status=integration_status, + developers=[dev], + sections=[section], + hosting_info=[host]) lab2.save() - labs_list = self.persistence_delegate.get_labs(lab_id=lab_id1) + labs_list = self.persistence_delegate.get_labs\ + (lab_id=lab_id1) - self.assertEqual(labs_list[0].get("lab_id"), lab_id1) + self.assertEqual(labs_list[0].get("lab_id"), + lab_id1) def test_get_lab_with_given_lab_id_and_lab_name(self): print "test_get_lab_with_given_lab_id_and_labname" @@ -3942,18 +4051,21 @@ class TestPersistenceDelegate(TestCase): institute_name = "IIT Kanpur" institute_id = "IITK" - inst = Institute(institute_name=institute_name, institute_id=institute_id, assets=[asset]) + inst = Institute(institute_name=institute_name, + institute_id=institute_id, + assets=[asset]) inst.save() discipline_name = "computer science" discipline_id = "cse" - discipline = Discipline(discipline_name=discipline_name, discipline_id=discipline_id, - assets=[asset]) + discipline = Discipline(discipline_name=discipline_name, + discipline_id=discipline_id, + assets=[asset]) discipline.save() integration_level = 4 - integration_status = IntegrationStatus(integration_level= - integration_level) + integration_status = IntegrationStatus\ + (integration_level=integration_level) integration_status.save() dev_name = Name(name="Mohit Tahiliani") @@ -3975,26 +4087,39 @@ class TestPersistenceDelegate(TestCase): section = Section(name=name) section.save() - lab1 = Lab(lab_name=lab_name1, lab_id=lab_id1, overview=overview, - institute=inst, discipline=discipline, + phase1=Phase(phase_id=1) + phase1.save() + + lab1 = Lab(lab_name=lab_name1, lab_id=lab_id1, + overview=overview, + institute=inst, + discipline=discipline, hosting_info=[host], assets=[asset], - experiments=[], developers=[dev], sections=[section], + experiments=[], developers=[dev], + sections=[section], phase=[phase1], integration_status=integration_status) lab1.save() lab_name2="Data Structures" lab_id2="CSE02" - lab2 = Lab(lab_name=lab_name2, lab_id=lab_id2, overview=overview, \ - institute=inst, discipline=discipline, assets=[asset],\ - experiments=[], integration_status=integration_status, - developers=[dev], sections=[section], hosting_info=[host]) + lab2 = Lab(lab_name=lab_name2, lab_id=lab_id2, + overview=overview, + institute=inst, + discipline=discipline, + assets=[asset], + experiments=[], + integration_status=integration_status, + developers=[dev], + sections=[section], phase=[phase1], + hosting_info=[host]) lab2.save() - labs_list = self.persistence_delegate.get_labs(lab_id=lab_id1, - lab_name=lab_name1) + labs_list = self.persistence_delegate.\ + get_labs(lab_id=lab_id1, lab_name=lab_name1) - self.assertEqual(labs_list[0].get("lab_id"), lab_id1) + self.assertEqual(labs_list[0].get("lab_id"), + lab_id1) def test_get_lab_with_given_institute(self): print "test_get_lab_with_given_institute" @@ -4012,18 +4137,21 @@ class TestPersistenceDelegate(TestCase): institute_name = "IIT Kanpur" institute_id = "IITK" - inst = Institute(institute_name=institute_name, institute_id=institute_id, assets=[asset]) + inst = Institute(institute_name=institute_name, + institute_id=institute_id, + assets=[asset]) inst.save() discipline_name = "IIT Kanpur" discipline_id = "IITK" - discipline = Discipline(discipline_name=discipline_name, discipline_id=discipline_id, - assets=[asset]) + discipline = Discipline(discipline_name=discipline_name, + discipline_id=discipline_id, + assets=[asset]) discipline.save() integration_level = 4 - integration_status = IntegrationStatus(integration_level= - integration_level) + integration_status = IntegrationStatus\ + (integration_level=integration_level) integration_status.save() dev_name = Name(name="Mohit Tahiliani") @@ -4045,26 +4173,41 @@ class TestPersistenceDelegate(TestCase): section = Section(name=name) section.save() - lab1 = Lab(lab_name=lab_name1, lab_id=lab_id1, overview=overview, - institute=inst, discipline=discipline, + phase1=Phase(phase_id=1) + phase1.save() + + lab1 = Lab(lab_name=lab_name1, lab_id=lab_id1, + overview=overview, + institute=inst, + discipline=discipline, hosting_info=[host], assets=[asset], - experiments=[], developers=[dev], sections=[section], + experiments=[], developers=[dev], + sections=[section], phase=[phase1], integration_status=integration_status) lab1.save() lab_name2="Data Structures" lab_id2="CSE02" - lab2 = Lab(lab_name=lab_name2, lab_id=lab_id2, overview=overview, \ - institute=inst, discipline=discipline, assets=[asset],\ - experiments=[], integration_status=integration_status, - developers=[dev], sections=[section], hosting_info=[host]) + lab2 = Lab(lab_name=lab_name2, lab_id=lab_id2, + overview=overview, + institute=inst, + discipline=discipline, + assets=[asset], + experiments=[], phase=[phase1], + integration_status=integration_status, + developers=[dev], + sections=[section], + hosting_info=[host]) lab2.save() - labs_list = self.persistence_delegate.get_labs(institute=inst) + labs_list = self.persistence_delegate.\ + get_labs(institute=inst) - self.assertEqual(labs_list[0].get("institute").get("institute_id"), - lab1.get("institute").get("institute_id")) + self.assertEqual(labs_list[0].get("institute").\ + get("institute_id"), + lab1.get("institute").\ + get("institute_id")) #+END_SRC @@ -4261,7 +4404,7 @@ class TestPersistenceDelegate(TestCase): phase1.save() phase_obj = self.persistence_delegate.get_phase\ - (phase_id=phase1.get("phase_id") + (phase_id=phase1.get("phase_id")) self.assertEqual(phase_obj.get("phase_id"), phase1.get("phase_id")) @@ -4307,18 +4450,21 @@ class TestPersistenceDelegate(TestCase): institute_name = "IIT Kanpur" institute_id = "IITK" - inst = Institute(institute_name=institute_name, institute_id=institute_id, assets=[asset]) + inst = Institute(institute_name=institute_name, + institute_id=institute_id, + assets=[asset]) inst.save() discipline_name = "IIT Kanpur" discipline_id = "IITK" - discipline = Discipline(discipline_name=discipline_name, discipline_id=discipline_id, - assets=[asset]) + discipline = Discipline(discipline_name=discipline_name, + discipline_id=discipline_id, + assets=[asset]) discipline.save() integration_level = 4 - integration_status = IntegrationStatus(integration_level= - integration_level) + integration_status = IntegrationStatus\ + (integration_level=integration_level) integration_status.save() dev_name = Name(name="Mohit Tahiliani") @@ -4340,10 +4486,16 @@ class TestPersistenceDelegate(TestCase): section = Section(name=name) section.save() - lab = Lab(lab_name=lab_name1, lab_id=lab_id1, overview=overview, - institute=inst, discipline=discipline, + phase1=Phase(phase_id=1) + phase1.save() + + lab = Lab(lab_name=lab_name1, lab_id=lab_id1, + overview=overview, + institute=inst, + discipline=discipline, hosting_info=[host], assets=[asset], - experiments=[], developers=[dev],sections=[section], + experiments=[], developers=[dev], + sections=[section], phase=[phase1], integration_status=integration_status) lab.save() @@ -4531,6 +4683,7 @@ class TestPersistenceDelegate(TestCase): #+END_SRC + *** Update Name This function updates existing name. #+NAME: persistence_update_name From 1f12482e1115b913967f921f5cf5ffb4bed7231f Mon Sep 17 00:00:00 2001 From: madhavi Date: Fri, 29 Sep 2017 12:40:06 +0530 Subject: [PATCH 021/105] add phase to system --- src/runtime/system/system.org | 173 +++++++++++++++++++++++++++------- 1 file changed, 139 insertions(+), 34 deletions(-) diff --git a/src/runtime/system/system.org b/src/runtime/system/system.org index 9c7d31a..25b1d9c 100755 --- a/src/runtime/system/system.org +++ b/src/runtime/system/system.org @@ -432,6 +432,35 @@ class AddName(): #+end_src +** =AddPhase= +#+NAME: class_add_phase +#+begin_src python +class AddPhase(): + arg_types = {"phase": is_phase, "session": is_session} + arity_and_type_checks_needed = True + + @staticmethod + def auth_check(args): + session = args['session'] + if not System.is_session_valid(session): + raise NotAuthorizedError("Not Authorized to perform this action") + + @staticmethod + def state_check(args): + phase = args["phase"] + if System.delegate.phase_exists(phase): + raise StateError("phase %s already exists in System" + % phase.to_client()) + + @staticmethod + def action(args): + phase = args["phase"] + phase = System.delegate.add_phase(phase) + return phase + +#+end_src + + ** =AddEmail= #+NAME: class_add_email #+begin_src python @@ -1046,6 +1075,37 @@ class DeleteName(): +** =DeletePhase= +#+NAME: class_delete_phase +#+begin_src python +class DeletePhase(): + arg_types = {"phase_id": is_int, "session": is_session} + arity_and_type_checks_needed = True + + @staticmethod + def auth_check(args): + session = args['session'] + if not System.is_session_valid(session): + raise NotAuthorizedError("Not Authorized to perform this action") + + @staticmethod + def state_check(args): + phase_id = args['phase_id'] + phase = System.delegate.get_phase(phase_id=phase_id) + if not System.delegate.phase_exists(phase): + raise StateError("phase with phase_id=%d" + " does not exists in System" + % phase_id) + @staticmethod + def action(args): + phase_id = args["phase_id"] + phase_id = System.delegate.delete_phase(phase_id) + return phase_id + +#+end_src + + + ** =DeleteEmail= #+NAME: class_delete_email #+begin_src python @@ -1559,6 +1619,40 @@ class GetName(): +** =GetPhase= +#+NAME: class_get_phase +#+begin_src python +class GetPhase(): + arg_types = {"phase": is_phase, "session": is_session} + + arity_and_type_checks_needed = True + + @staticmethod + def auth_check(args): + session = args['session'] + current_app.logger.debug("checking authorization") + if not System.is_session_valid(session): + current_app.logger.debug("authorization is" + "failed") + raise NotAuthorizedError("Not Authorized to" + " perform this action") + current_app.logger.debug("authorization check is" + " done") + + @staticmethod + def state_check(args): + pass + + @staticmethod + def action(args): + phase = args["phase"] + phase = System.delegate.get_phase\ + (phase=phase.get("phase_id")) + return phase + +#+end_src + + ** =GetEmail= #+NAME: class_get_email #+begin_src python @@ -2008,13 +2102,16 @@ ops_table = {'add_lab' : AddLab, # -*- coding: utf-8 -*- from runtime.exceptions.custom_exceptions import * -from runtime.objects.entities import is_str, is_lab, are_labs,\ - is_date, is_session, is_section, is_int, is_experiment,\ - are_experiments, are_sections, is_name, is_email, is_developer,\ - is_institute, are_institutes, is_discipline, are_disciplines,\ - is_url, is_hosting_info, is_integration_status, is_asset, are_assets,\ - is_asset_type, are_hosting_info, are_developers - +from runtime.objects.entities import is_str, is_lab,\ + are_labs, is_experiment, is_developer,\ + are_disciplines, is_asset, are_assets,\ + is_date, is_session, is_section, is_int,\ + are_experiments, are_sections, is_name, is_email, \ + is_institute, are_institutes, is_discipline, \ + is_url, is_hosting_info, is_integration_status,\ + is_asset_type, are_hosting_info, are_developers,\ + is_phase + from runtime.utils.type_utils import is_str_or_none from runtime.config.system_config import KEY import datetime @@ -2059,30 +2156,47 @@ if __name__ == '__main__': <> <> <> -<> + <> <> <> -<> +<> <> +<> +<> +<> +<> +<> +<> +<> + +<> <> <> -<> -<> <> -<> <> -<> <> +<> +<> +<> +<> + +<> <> <> +<> <> -<> -<> -<> -<> -<> +<> +<> +<> <> +<> +<> +<> +<> +<> +<> + <> <> <> @@ -2090,31 +2204,22 @@ if __name__ == '__main__': <> <> <> +<> +<> +<> +<> +<> + <> <> <> -<> -<> -<> -<> -<> -<> -<> <> <> <> -<> -<> -<> -<> -<> -<> -<> -<> <> <> -<> +<> #+end_src From a58765c5eb44d8a582e82d8e4750578f3230fd0d Mon Sep 17 00:00:00 2001 From: madhavi Date: Fri, 29 Sep 2017 18:10:52 +0530 Subject: [PATCH 022/105] add phase to lab in System layer --- src/runtime/system/persistence-delegate.org | 12 +- .../system/system-with-persistence.org | 198 ++++++++++++++++-- src/runtime/system/system.org | 21 +- 3 files changed, 204 insertions(+), 27 deletions(-) diff --git a/src/runtime/system/persistence-delegate.org b/src/runtime/system/persistence-delegate.org index ea592fd..bcf51be 100755 --- a/src/runtime/system/persistence-delegate.org +++ b/src/runtime/system/persistence-delegate.org @@ -1523,7 +1523,7 @@ class TestPersistenceDelegate(TestCase): #+BEGIN_SRC python def update_lab(self, lab, lab_name, overview, institute, discipline, sections, integration_status, hosting_info, developers, - assets, experiments): + assets, experiments, phase): current_app.logger.debug("running update lab operation") @@ -1531,7 +1531,7 @@ class TestPersistenceDelegate(TestCase): discipline=discipline, sections=sections, hosting_info=hosting_info, integration_status=integration_status, developers=developers, assets=assets, - experiments=experiments) + experiments=experiments, phase=phase) lab.save() current_app.logger.debug("completed update lab operation") @@ -1650,6 +1650,9 @@ class TestPersistenceDelegate(TestCase): hosted_on=hosted_on1) host1.save() + phase2=Phase(phase_id=2) + phase2.save() + dev_name1 = Name(name="Tahiliani") dev_name1.save() email_id1 = Email(email="tahiliani@gmail.com") @@ -1678,8 +1681,9 @@ class TestPersistenceDelegate(TestCase): exp2 = self.persistence_delegate.add_experiment(exp) lab2 = self.persistence_delegate.update_lab\ - (lab1, lab_name1, overview1, inst1, discipline1, [section], - integration_status1, [host1], [dev1], [asset1], [exp2]), + (lab1, lab_name1, overview1, inst1, discipline1, + [section], integration_status1, [host1], + [dev1], [asset1], [exp2], [phase2]), lab2 = Lab.get_by_id(1) diff --git a/src/runtime/system/system-with-persistence.org b/src/runtime/system/system-with-persistence.org index 1ea49ae..b1c9f38 100755 --- a/src/runtime/system/system-with-persistence.org +++ b/src/runtime/system/system-with-persistence.org @@ -48,6 +48,7 @@ class TestAddLab(TestCase): email_cls = System.delegate.entities['email'] developer_cls = System.delegate.entities['developer'] hosting_info_cls = System.delegate.entities['hosting_info'] + phase_cls = System.delegate.entities['phase'] integration_level = 4 integration_status = integration_status_cls(integration_level=integration_level) @@ -60,6 +61,9 @@ class TestAddLab(TestCase): asset = asset_cls(asset_type=asset_type, path=path) asset.save() + phase = phase_cls(phase_id=1) + phase.save() + institute_name = "IIT Kanpur" institute_id = "IITK" inst = institute_cls(institute_name=institute_name, institute_id=institute_id, assets=[asset]) @@ -415,6 +419,7 @@ class TestAddLabsToInstitute(TestCase): session_cls = System.delegate.entities['session'] lab_cls = System.delegate.entities['lab'] institute_cls = System.delegate.entities['institute'] + phase_cls = System.delegate.entities['phase'] asset_type = asset_type_cls(asset_type="Image") asset_type.save() @@ -423,6 +428,9 @@ class TestAddLabsToInstitute(TestCase): asset = asset_cls(asset_type=asset_type, path=path) asset.save() + phase = phase_cls(phase_id=1) + phase.save() + institute_name = "arrays" institute_id = "cse02" institute = institute_cls(institute_name=institute_name, institute_id=institute_id, assets=[asset]) @@ -515,6 +523,38 @@ class TestAddName(TestCase): #+END_SRC +* Test Addphase_cls +#+NAME: test_add_phase +#+BEGIN_SRC python +class TestAddphase_cls(TestCase): + TESTING = True + + def create_app(self): + app = create_app(config) + return app + + def setUp(self): + db.create_all() + + def tearDown(self): + db.session.remove() + db.drop_all() + + def test_add_phase_in_system_persistence(self): + + print "test_add_phase_in_system_persistence" + session_cls = System.delegate.entities['session'] + phase_cls = System.delegate.entities['phase'] + + phase = phase_cls(phase_id=1) + session = session_cls(key=KEY) + phase = System.do("add_phase", phase=phase, session=session) + new_phase = phase_cls.get_by_id(1) + self.assertEqual(new_phase.get("phase_id"), 1) + +#+END_SRC + + * Test AddEmail #+NAME: test_add_email #+BEGIN_SRC python @@ -694,19 +734,24 @@ class TestUpdateLabt(TestCase): experiment_cls = System.delegate.entities['experiment'] discipline_cls = System.delegate.entities['discipline'] lab_cls = System.delegate.entities['lab'] + phase_cls = System.delegate.entities['phase'] session = session_cls(key=KEY) asset_type = asset_type_cls(asset_type="Image") asset_type.save() + phase = phase_cls(phase_id=1) + phase.save() + path = "vlabs.ac.in/images/static/logo.png" asset = asset_cls(asset_type=asset_type, path=path) asset.save() institute_name = "IIT Kanpur" institute_id = "IITK" - inst = institute_cls(institute_name=institute_name, institute_id=institute_id, assets=[asset]) + inst = institute_cls(institute_name=institute_name, + institute_id=institute_id, assets=[asset]) inst.save() integration_level = 4 @@ -749,11 +794,15 @@ class TestUpdateLabt(TestCase): section = section_cls(name=name) section.save() lab = lab_cls(lab_id=lab_id, lab_name=lab_name, - institute=inst, discipline=discipline, + institute=inst, + discipline=discipline, assets=[asset], overview=overview, - integration_status=integration_status, - experiments=[experiment], developers=[dev], - hosting_info=[host], sections=[section]) + integration_status=integration_status, + phase=[phase], + experiments=[experiment], + developers=[dev], + hosting_info=[host], + sections=[section]) lab.save() lab_name1 = "two dimentional arrays" @@ -816,7 +865,7 @@ class TestUpdateLabt(TestCase): overview=overview1, institute=inst1, discipline=discipline1, hosting_info=[host1], integration_status=integration_status1, - session=session, developers=[dev1], + session=session, developers=[dev1], phase=[phase], assets=[asset1], sections=[section], experiments=[experiment1]) new_lab = lab_cls.get_by_id(1) @@ -1491,6 +1540,45 @@ class TestDeleteName(TestCase): #+END_SRC +* Test Deletephase_cls +#+NAME: test_delete_phase +#+BEGIN_SRC python +class TestDeletephase_cls(TestCase): + + TESTING = True + + def create_app(self): + app = create_app(config) + return app + + def setUp(self): + db.create_all() + + def tearDown(self): + db.session.remove() + db.drop_all() + + def test_delete_phase(self): + print "test_delete_phase_in_system_persistence" + session_cls = System.delegate.entities['session'] + phase_cls = System.delegate.entities['phase'] + + key = KEY + session = session_cls(key=key) + phase1 = phase_cls(phase_id=1) + phase1.save() + + phase2 = phase_cls(phase_id=2) + phase2.save() + + phase = System.do("delete_phase", phase_id=1, + session=session) + + self.assertEqual(len(phase_cls.get_all()), 1) + +#+END_SRC + + * Test DeleteLab #+NAME: test_delete_lab #+BEGIN_SRC python @@ -1524,6 +1612,7 @@ class TestDeleteLab(TestCase): email_cls = System.delegate.entities['email'] developer_cls = System.delegate.entities['developer'] hosting_info_cls = System.delegate.entities['hosting_info'] + phase_cls = System.delegate.entities['phase'] integration_level = 4 integration_status = integration_status_cls(integration_level=integration_level) @@ -1536,6 +1625,9 @@ class TestDeleteLab(TestCase): asset = asset_cls(asset_type=asset_type, path=path) asset.save() + phase = phase_cls(phase_id=1) + phase.save() + institute_name = "IIT Kanpur" institute_id = "IITK" inst = institute_cls(institute_name=institute_name, institute_id=institute_id, assets=[asset]) @@ -1849,6 +1941,7 @@ class TestGetLab(TestCase): developer_cls = System.delegate.entities['developer'] hosting_info_cls = System.delegate.entities['hosting_info'] asset_type_cls = System.delegate.entities['asset_type'] + phase_cls = System.delegate.entities['phase'] lab_name1="Computer Programming" lab_id1="CSE01" @@ -1861,6 +1954,9 @@ class TestGetLab(TestCase): asset = asset_cls(asset_type=asset_type, path=path) asset.save() + phase = phase_cls(phase_id=1) + phase.save() + institute_name = "IIT Kanpur" institute_id = "IITK" inst = institute_cls(institute_name=institute_name, institute_id=institute_id, assets=[asset]) @@ -1940,6 +2036,7 @@ class TestGetLabByInstitute(TestCase): developer_cls = System.delegate.entities['developer'] hosting_info_cls = System.delegate.entities['hosting_info'] asset_type_cls = System.delegate.entities['asset_type'] + phase_cls = System.delegate.entities['phase'] lab_name1="Computer Programming" lab_id1="CSE01" @@ -1948,6 +2045,9 @@ class TestGetLabByInstitute(TestCase): asset_type = asset_type_cls(asset_type="Image") asset_type.save() + phase = phase_cls(phase_id=1) + phase.save() + path = "vlabs.ac.in/images/static/logo.png" asset = asset_cls(asset_type=asset_type, path=path) asset.save() @@ -1982,9 +2082,12 @@ class TestGetLabByInstitute(TestCase): section = section_cls(name=name) section.save() lab = lab_cls(lab_id=lab_id1, lab_name=lab_name1, - institute=inst, discipline=discipline, sections=[section], assets=[asset], - overview=overview, experiments=[], integration_status=integration_status, - hosting_info=[host], developers=[dev]) + institute=inst, discipline=discipline, + sections=[section], assets=[asset], + overview=overview, experiments=[], + integration_status=integration_status, + phase=[phase], + hosting_info=[host], developers=[dev]) lab.save() @@ -2028,6 +2131,7 @@ class TestGetLabByDiscipline(TestCase): email_cls = System.delegate.entities['email'] developer_cls = System.delegate.entities['developer'] hosting_info_cls = System.delegate.entities['hosting_info'] + phase_cls = System.delegate.entities['phase'] lab_name1="Computer Programming" lab_id1="CSE01" @@ -2067,11 +2171,16 @@ class TestGetLabByDiscipline(TestCase): host = hosting_info_cls(hosting_status=hosting_status, hosted_url=hosted_url, hosted_on=hosted_on) host.save() name="Theory" + section=section_cls(name=name) section.save() + + phase = phase_cls(phase_id=1) + phase.save() + lab = lab_cls(lab_id=lab_id1, lab_name=lab_name1, institute=inst, discipline=discipline, sections=[section], - hosting_info=[host], assets=[asset], + hosting_info=[host], assets=[asset], phase=[phase], overview=overview, experiments=[], developers=[dev], integration_status=integration_status) @@ -2118,11 +2227,15 @@ class TestGetLabByLabName(TestCase): email_cls = System.delegate.entities['email'] developer_cls = System.delegate.entities['developer'] hosting_info_cls = System.delegate.entities['hosting_info'] + phase_cls = System.delegate.entities['phase'] lab_name1="Computer Programming" lab_id1="CSE01" overview = "overview" + phase = phase_cls(phase_id=1) + phase.save() + asset_type = asset_type_cls(asset_type="Image") asset_type.save() @@ -2161,9 +2274,9 @@ class TestGetLabByLabName(TestCase): section = section_cls(name=name) section.save() lab = lab_cls(lab_id=lab_id1, lab_name=lab_name1, - integration_status=integration_status, + integration_status=integration_status, phase=[phase], institute=inst, discipline=discipline, sections=[section], - hosting_info=[host], assets=[asset], + hosting_info=[host], assets=[asset], overview=overview, experiments=[], developers=[dev]) @@ -2203,11 +2316,15 @@ class TestGetLabByAsset(TestCase): asset_cls = System.delegate.entities['asset'] asset_type_cls = System.delegate.entities['asset_type'] integration_status_cls = System.delegate.entities['integration_status'] + phase_cls = System.delegate.entities['phase'] lab_name1="Computer Programming" lab_id1="CSE01" overview = "overview" + phase = phase_cls(phase_id=1) + phase.save() + asset_type = asset_type_cls(asset_type="Image") asset_type.save() @@ -2243,7 +2360,7 @@ class TestGetLabByAsset(TestCase): hosted_url=hosted_url, hosted_on=hosted_on) host.save() - lab = lab_cls(lab_id=lab_id1, lab_name=lab_name1, + lab = lab_cls(lab_id=lab_id1, lab_name=lab_name1, phase=[phase], integration_status=integration_status, institute=inst, discipline=discipline, hosting_info=[host], assets=[asset], @@ -2333,6 +2450,42 @@ class TestGetName(TestCase): #+END_SRC +* Test Getphase_cls +#+NAME: test_get_phase +#+BEGIN_SRC python +class TestGetphase_cls(TestCase): + TESTING = True + + def create_app(self): + app = create_app(config) + return app + + def setUp(self): + db.create_all() + + def tearDown(self): + db.session.remove() + db.drop_all() + + def test_get_phase(self): + + print "test_get_phase_in_system_persistence" + session_cls = System.delegate.entities['session'] + phase_cls = System.delegate.entities['phase'] + + key = KEY + session = session_cls(key=key) + phase = phase_cls(phase_id=1) + phase.save() + + phase = System.do("get_phase", phase=phase, + session=session) + + self.assertEqual(phase.get("phase_id"), 1) + +#+END_SRC + + * Test GetExperiment #+NAME: test_get_exp #+BEGIN_SRC python @@ -2877,7 +3030,7 @@ class TestAddAssetsToLab(TestCase): asset_type_cls = System.delegate.entities['asset_type'] experiment_cls = System.delegate.entities['experiment'] integration_status_cls = System.delegate.entities['integration_status'] - + phase_cls = System.delegate.entities['phase'] integration_level = 4 integration_status = integration_status_cls(integration_level=integration_level) integration_status.save() @@ -2889,6 +3042,9 @@ class TestAddAssetsToLab(TestCase): asset = asset_cls(asset_type=asset_type, path=path) asset.save() + phase = phase_cls(phase_id=1) + phase.save() + institute_name = "IIT Kanpur" institute_id = "IITK" inst = institute_cls(institute_name=institute_name, institute_id=institute_id, assets=[asset]) @@ -2915,9 +3071,14 @@ class TestAddAssetsToLab(TestCase): name="Theory" section = section_cls(name=name) section.save() - lab = lab_cls(lab_id=lab_id1, lab_name=lab_name1, - institute=inst, discipline=discipline, assets=[asset], - overview=overview, sections=[section], integration_status=integration_status, + lab = lab_cls(lab_id=lab_id1, lab_name=lab_name1, + phase=[phase], + institute=inst, + discipline=discipline, + assets=[asset], + overview=overview, + sections=[section], + integration_status=integration_status, experiments=[experiment]) lab.save() @@ -3052,6 +3213,7 @@ if __name__ == '__main__': <> <> <> +<> <> <> <> @@ -3059,6 +3221,7 @@ if __name__ == '__main__': <> <> <> +<> <> <> <> @@ -3084,6 +3247,7 @@ if __name__ == '__main__': <> <> <> +<> <> #+end_src diff --git a/src/runtime/system/system.org b/src/runtime/system/system.org index 25b1d9c..78dab3a 100755 --- a/src/runtime/system/system.org +++ b/src/runtime/system/system.org @@ -561,6 +561,7 @@ class UpdateLab(): "sections" : are_sections, "institute" : is_institute, "discipline" : is_discipline, + "are_phase": are_phase, "hosting_info": are_hosting_info, "developers": are_developers, "assets": are_assets, "experiments":are_experiments, @@ -594,10 +595,15 @@ class UpdateLab(): assets = args["assets"] experiments = args["experiments"] sections = args["sections"] - lab = System.delegate.update_lab(lab, lab_name, overview, institute, - discipline, sections, integration_status, - hosting_info, developers, assets, - experiments) + phase = args["phase"] + lab = System.delegate.update_lab(lab, lab_name, + overview, institute, + discipline, + sections, + integration_status, + hosting_info, + developers, assets, + experiments, phase) return lab #+end_src @@ -2087,7 +2093,10 @@ ops_table = {'add_lab' : AddLab, 'get_section': GetSection, 'update_name': UpdateName, 'get_labs_by_asset': GetLabsByAsset, - 'get_asset_by_asset_type': GetAssetByAssetType + 'get_asset_by_asset_type': GetAssetByAssetType, + 'add_phase' : AddPhase, + 'delete_phase': DeletePhase, + 'get_phase': GetPhase, } #+END_SRC @@ -2110,7 +2119,7 @@ from runtime.objects.entities import is_str, is_lab,\ is_institute, are_institutes, is_discipline, \ is_url, is_hosting_info, is_integration_status,\ is_asset_type, are_hosting_info, are_developers,\ - is_phase + is_phase, are_phase from runtime.utils.type_utils import is_str_or_none from runtime.config.system_config import KEY From 2391706071a101aa3891186dacd668c21b7ee185 Mon Sep 17 00:00:00 2001 From: Mudit Surana Date: Sun, 1 Oct 2017 01:51:29 +0530 Subject: [PATCH 023/105] Literate for Pagination function --- src/runtime/rest/api.org | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/src/runtime/rest/api.org b/src/runtime/rest/api.org index 70d7f6e..1303eb2 100755 --- a/src/runtime/rest/api.org +++ b/src/runtime/rest/api.org @@ -14,11 +14,14 @@ * REST -** Pagination support for Get Request +** Pagination support for Get request *** Function Design -- This function will allow us to enable pagination of out REST APIs. It is supposed to take in four arguments that will be total object list - provied along with the starting integer and a limiting integer. -- This is supposed to check for size conditions and generate a previous data and next available data link too. +- This function will allow us to enable pagination of our REST APIs i.e. it will send as many number of objects as the user wants to see and not all the objects together. It is supposed to take in four arguments that will be total object list provied along with the starting integer and a limiting integer. +- The starting integer denotes the number of the object from which the user wants to start the display. +- The limiting integer specifies the maximum number of objects the user wants to display on a particular page and if nothing is specified as the limiting integer then, 25 is taken as the default value. +- The function uses a variable "count" to represent the total number of objects being displayed on a particular page. +- The function checks for different conditions on "count" and accordingly displays the previous and the next page links. +- The response is stored and returned as a jsonified object. *** Function Definition #+NAME: test_get_names From a771b0d910e1ebae0d3d0f142d4ca4f7f289614e Mon Sep 17 00:00:00 2001 From: madhavi Date: Tue, 3 Oct 2017 12:18:32 +0530 Subject: [PATCH 024/105] fix all test cases in system with persistence --- .../system/system-with-persistence.org | 251 +++++++++++++----- src/runtime/system/system.org | 11 +- 2 files changed, 185 insertions(+), 77 deletions(-) diff --git a/src/runtime/system/system-with-persistence.org b/src/runtime/system/system-with-persistence.org index b1c9f38..958404d 100755 --- a/src/runtime/system/system-with-persistence.org +++ b/src/runtime/system/system-with-persistence.org @@ -66,12 +66,18 @@ class TestAddLab(TestCase): institute_name = "IIT Kanpur" institute_id = "IITK" - inst = institute_cls(institute_name=institute_name, institute_id=institute_id, assets=[asset]) + inst = institute_cls(institute_name=institute_name, + institute_id=institute_id, + assets=[asset]) inst.save() discipline_name = "IIT Kanpur" discipline_id = "IITK" - discipline = discipline_cls(discipline_name=discipline_name, discipline_id=discipline_id, assets=[asset]) + discipline = discipline_cls(discipline_name=\ + discipline_name, + discipline_id=\ + discipline_id, + assets=[asset]) discipline.save() dev_name = name_cls(name="Mohit Tahiliani") @@ -84,18 +90,26 @@ class TestAddLab(TestCase): hosting_status = "hosted" hosted_url = "http://cse14-iiith.vlabs.ac.in" hosted_on = "cloud" - host = hosting_info_cls(hosting_status=hosting_status, hosted_url=hosted_url, hosted_on=hosted_on) + host = hosting_info_cls(hosting_status=\ + hosting_status, + hosted_url=hosted_url, + hosted_on=hosted_on) host.save() exp_name = "arrays" exp_id = "cse02" overview = "overview" - experiment = experiment_cls(exp_name=exp_name, exp_id=exp_id, - overview=overview, sections=[], - institute=inst, discipline=discipline, - integration_status=integration_status, - assets=[asset], - developers=[dev], hosting_info=[host]) + experiment = experiment_cls(exp_name=exp_name, + exp_id=exp_id, + overview=overview, + sections=[], + institute=inst, + discipline=discipline, + integration_status=\ + integration_status, + assets=[asset], + developers=[dev], + hosting_info=[host]) experiment.save() lab_name1="Computer Programming" @@ -107,12 +121,20 @@ class TestAddLab(TestCase): section = section_cls(name=name) section.save() - lab = lab_cls(lab_id=lab_id1, lab_name=lab_name1, - institute=inst, discipline=discipline, assets=[asset], - overview=overview, integration_status=integration_status, - experiments=[experiment], sections=[section], developers=[dev], hosting_info=[host]) + lab = lab_cls(lab_id=lab_id1, lab_name=lab_name1, + institute=inst, + discipline=discipline, + assets=[asset], + overview=overview, + integration_status=integration_status, + experiments=[experiment], + sections=[section], + developers=[dev], + phase=[phase], + hosting_info=[host]) - lab1 = System.do("add_lab", lab=lab, session=session) + lab1 = System.do("add_lab", lab=lab, + session=session) new_lab = lab_cls.get_by_id(1) self.assertEqual(new_lab.get("lab_name"), lab_name1) self.assertEqual(new_lab.get("lab_id"), lab_id1) @@ -703,7 +725,7 @@ class TestAddIntegration_Status(TestCase): * Test UpdateLab #+NAME: test_update_lab #+BEGIN_SRC python -class TestUpdateLabt(TestCase): +class TestUpdateLab(TestCase): TESTING = True def create_app(self): @@ -755,18 +777,26 @@ class TestUpdateLabt(TestCase): inst.save() integration_level = 4 - integration_status = integration_status_cls(integration_level=integration_level) + integration_status = integration_status_cls\ + (integration_level=integration_level) integration_status.save() hosting_status = "hosted" hosted_url = "http://cse14-iiith.vlabs.ac.in" hosted_on = "cloud" - host = hosting_info_cls(hosting_status=hosting_status, hosted_url=hosted_url, hosted_on=hosted_on) + host = hosting_info_cls(hosting_status=\ + hosting_status, + hosted_url=hosted_url, + hosted_on=hosted_on) host.save() discipline_name = "IIT Kanpur" discipline_id = "IITK" - discipline = discipline_cls(discipline_name=discipline_name, discipline_id=discipline_id, assets=[asset]) + discipline = discipline_cls(discipline_name=\ + discipline_name, + discipline_id=\ + discipline_id, + assets=[asset]) discipline.save() dev_name = name_cls(name="Mohit Tahiliani") @@ -779,12 +809,17 @@ class TestUpdateLabt(TestCase): exp_name = "arrays" exp_id = "cse02" overview = "overview" - experiment = experiment_cls(exp_name=exp_name, exp_id=exp_id, - overview=overview, sections=[], - institute=inst, discipline=discipline, - integration_status=integration_status, - assets=[asset], - developers=[dev], hosting_info=[host]) + experiment = experiment_cls(exp_name=exp_name, + exp_id=exp_id, + overview=overview, + sections=[], + institute=inst, + discipline=discipline, + integration_status=\ + integration_status, + assets=[asset], + developers=[dev], + hosting_info=[host]) experiment.save() lab_name = "Computer Programming" @@ -796,8 +831,10 @@ class TestUpdateLabt(TestCase): lab = lab_cls(lab_id=lab_id, lab_name=lab_name, institute=inst, discipline=discipline, - assets=[asset], overview=overview, - integration_status=integration_status, + assets=[asset], + overview=overview, + integration_status=\ + integration_status, phase=[phase], experiments=[experiment], developers=[dev], @@ -812,21 +849,33 @@ class TestUpdateLabt(TestCase): asset_type1.save() path1 = "vlabs.ac.in/images/video/icon.png" - asset1 = asset_cls(asset_type=asset_type1, path=path1) + asset1 = asset_cls(asset_type=asset_type1, + path=path1) asset1.save() institute_name1 = "IIT Kharagpur" institute_id1 = "IITKgp" - inst1 = institute_cls(institute_name=institute_name1, institute_id=institute_id1, assets=[asset]) + inst1 = institute_cls(institute_name= + institute_name1, + institute_id=institute_id1, + assets=[asset]) inst1.save() + phase1 = phase_cls(phase_id=2) + phase1.save() + discipline_name1 = "Computer Science & Engineering" discipline_id1 = "CSE02" - discipline1 = discipline_cls(discipline_name=discipline_name1, discipline_id=discipline_id1, assets=[asset]) + discipline1 = discipline_cls(discipline_name=\ + discipline_name1, + discipline_id=\ + discipline_id1, + assets=[asset]) discipline1.save() integration_level1 = 2 - integration_status1 = integration_status_cls(integration_level=integration_level1) + integration_status1 = integration_status_cls\ + (integration_level=integration_level1) integration_status1.save() dev_name1 = name_cls(name="pallavi pawar") @@ -839,19 +888,26 @@ class TestUpdateLabt(TestCase): hosting_status1 = "hosted" hosted_url1 = "http://cse13-iiith.vlabs.ac.in" hosted_on1 = "cloud" - host1 = hosting_info_cls(hosting_status=hosting_status1, - hosted_url=hosted_url1, hosted_on=hosted_on1) + host1 = hosting_info_cls(hosting_status=\ + hosting_status1, + hosted_url=hosted_url1, + hosted_on=hosted_on1) host1.save() exp_name1 = "Computer Programming" overview1 = "overveiw exp" exp_id1 = "cse03" - experiment1 = experiment_cls(exp_name=exp_name1, exp_id=exp_id1, - overview=overview1, sections=[], - institute=inst1, discipline=discipline1, - integration_status=integration_status1, - assets=[asset1], - developers=[dev1], hosting_info=[host1]) + experiment1 = experiment_cls(exp_name=exp_name1, + exp_id=exp_id1, + overview=overview1, + sections=[], + institute=inst1, + discipline=discipline1, + integration_status=\ + integration_status1, + assets=[asset1], + developers=[dev1], \ + hosting_info=[host1]) experiment1.save() dev_name1 = name_cls(name="Tahiliani") @@ -861,29 +917,46 @@ class TestUpdateLabt(TestCase): dev1 = developer_cls(name=dev_name1, email=email_id1) dev1.save() - lab1 = System.do("update_lab", lab=lab, lab_name=lab_name1, - overview=overview1, institute=inst1, - discipline=discipline1, hosting_info=[host1], - integration_status=integration_status1, - session=session, developers=[dev1], phase=[phase], - assets=[asset1], sections=[section], experiments=[experiment1]) + lab1 = System.do("update_lab", lab=lab, + lab_name=lab_name1, + overview=overview1, + institute=inst1, + discipline=discipline1, + hosting_info=[host1], + integration_status=\ + integration_status1, + session=session, + developers=[dev1], + phase=[phase, phase1], + assets=[asset1], + sections=[section], + experiments=[experiment1]) new_lab = lab_cls.get_by_id(1) self.assertEqual(new_lab.get("lab_name"), lab_name1) self.assertEqual(new_lab.get("overview"), overview1) self.assertEqual(new_lab.get("lab_id"), lab_id) - self.assertEqual(new_lab.get("institute").get("institute_id"), institute_id1) - self.assertEqual(new_lab.get("discipline").get("discipline_id"), discipline_id1) + self.assertEqual(new_lab.get("institute").\ + get("institute_id"), + institute_id1) + self.assertEqual(new_lab.get("discipline").\ + get("discipline_id"), + discipline_id1) self.assertEqual(new_lab.get("integration_status"). - get("integration_level"), integration_level1) - self.assertEqual(new_lab.get("hosting_info")[0].get("hosted_url"), + get("integration_level"), + integration_level1) + self.assertEqual(new_lab.get("hosting_info")[0].\ + get("hosted_url"), hosted_url1) - self.assertEqual(new_lab.get("developers")[0].get("email").get("email"), + self.assertEqual(new_lab.get("developers")[0].\ + get("email").get("email"), email_id1.get("email")) - self.assertEqual(new_lab.get("assets")[0].get("path"), + self.assertEqual(new_lab.get("assets")[0].\ + get("path"), path1) - self.assertEqual(new_lab.get("experiments")[0].get("exp_id"), + self.assertEqual(new_lab.get("experiments")[0].\ + get("exp_id"), experiment1.get("exp_id")) #+END_SRC @@ -1615,7 +1688,8 @@ class TestDeleteLab(TestCase): phase_cls = System.delegate.entities['phase'] integration_level = 4 - integration_status = integration_status_cls(integration_level=integration_level) + integration_status = integration_status_cls\ + (integration_level=integration_level) integration_status.save() asset_type = asset_type_cls(asset_type="Image") @@ -1630,12 +1704,18 @@ class TestDeleteLab(TestCase): institute_name = "IIT Kanpur" institute_id = "IITK" - inst = institute_cls(institute_name=institute_name, institute_id=institute_id, assets=[asset]) + inst = institute_cls(institute_name=institute_name, + institute_id=institute_id, + assets=[asset]) inst.save() discipline_name = "IIT Kanpur" discipline_id = "IITK" - discipline = discipline_cls(discipline_name=discipline_name, discipline_id=discipline_id, assets=[asset]) + discipline = discipline_cls(discipline_name=\ + discipline_name, + discipline_id=\ + discipline_id, + assets=[asset]) discipline.save() dev_name = name_cls(name="Mohit Tahiliani") @@ -1648,18 +1728,26 @@ class TestDeleteLab(TestCase): hosting_status = "hosted" hosted_url = "http://cse14-iiith.vlabs.ac.in" hosted_on = "cloud" - host = hosting_info_cls(hosting_status=hosting_status, hosted_url=hosted_url, hosted_on=hosted_on) + host = hosting_info_cls(hosting_status=\ + hosting_status, + hosted_url=hosted_url, + hosted_on=hosted_on) host.save() exp_name = "arrays" exp_id = "cse02" overview = "overview" - experiment = experiment_cls(exp_name=exp_name, exp_id=exp_id, - overview=overview, sections=[], - institute=inst, discipline=discipline, - integration_status=integration_status, + experiment = experiment_cls(exp_name=exp_name, + exp_id=exp_id, + overview=overview, + sections=[], + institute=inst, + discipline=discipline, + integration_status=\ + integration_status, assets=[asset], - developers=[dev], hosting_info=[host]) + developers=[dev], \ + hosting_info=[host]) experiment.save() @@ -1673,10 +1761,14 @@ class TestDeleteLab(TestCase): section.save() lab = lab_cls(lab_id=lab_id1, lab_name=lab_name1, - institute=inst, discipline=discipline, assets=[asset], - overview=overview, integration_status=integration_status, - experiments=[experiment], developers=[dev], - hosting_info=[host], sections=[section]) + institute=inst, discipline=discipline, + assets=[asset], phase=[phase], + overview=overview, + integration_status=integration_status, + experiments=[experiment], + developers=[dev], + hosting_info=[host], + sections=[section]) lab.save() lab_id = System.do("delete_lab", lab_id = lab_id1, session=session) @@ -1959,16 +2051,22 @@ class TestGetLab(TestCase): institute_name = "IIT Kanpur" institute_id = "IITK" - inst = institute_cls(institute_name=institute_name, institute_id=institute_id, assets=[asset]) + inst = institute_cls(institute_name=institute_name, + institute_id=institute_id, + assets=[asset]) inst.save() integration_level = 4 - integration_status = integration_status_cls(integration_level=integration_level) + integration_status = integration_status_cls\ + (integration_level=integration_level) integration_status.save() discipline_name = "computer science" discipline_id = "cse" - discipline = discipline_cls(discipline_name=discipline_name, discipline_id=discipline_id, assets=[asset]) + discipline = discipline_cls(discipline_name=\ + discipline_name, + discipline_id=discipline_id, + assets=[asset]) discipline.save() dev_name = name_cls(name="Mohit Tahiliani") @@ -1981,8 +2079,10 @@ class TestGetLab(TestCase): hosting_status = "hosted" hosted_url = "http://cse14-iiith.vlabs.ac.in" hosted_on = "cloud" - host = hosting_info_cls(hosting_status=hosting_status, - hosted_url=hosted_url, hosted_on=hosted_on) + host = hosting_info_cls(hosting_status=\ + hosting_status, + hosted_url=hosted_url, + hosted_on=hosted_on) host.save() name="Theory" @@ -1990,9 +2090,16 @@ class TestGetLab(TestCase): section.save() lab = lab_cls(lab_id=lab_id1, lab_name=lab_name1, - institute=inst, discipline=discipline, assets=[asset], - overview=overview, experiments=[], developers=[dev], - hosting_info=[host], sections=[section], integration_status=integration_status) + institute=inst, + discipline=discipline, + assets=[asset], + overview=overview, + experiments=[], developers=[dev], + hosting_info=[host], + sections=[section], + phase=[phase], + integration_status=\ + integration_status) lab.save() diff --git a/src/runtime/system/system.org b/src/runtime/system/system.org index 78dab3a..245c84c 100755 --- a/src/runtime/system/system.org +++ b/src/runtime/system/system.org @@ -561,11 +561,13 @@ class UpdateLab(): "sections" : are_sections, "institute" : is_institute, "discipline" : is_discipline, - "are_phase": are_phase, + "phase": are_phase, "hosting_info": are_hosting_info, "developers": are_developers, - "assets": are_assets, "experiments":are_experiments, - "integration_status" : is_integration_status} + "assets": are_assets, + "experiments":are_experiments, + "integration_status" : \ + is_integration_status} arity_and_type_checks_needed = True @@ -609,7 +611,6 @@ class UpdateLab(): #+end_src - ** =UpdateExperiment= #+NAME: class_update_experiment #+begin_src python @@ -1653,7 +1654,7 @@ class GetPhase(): def action(args): phase = args["phase"] phase = System.delegate.get_phase\ - (phase=phase.get("phase_id")) + (phase_id=phase.get("phase_id")) return phase #+end_src From db3463cdd3d4e428adbac60e4ecedbecb96a86fc Mon Sep 17 00:00:00 2001 From: madhavi Date: Mon, 9 Oct 2017 16:34:55 +0530 Subject: [PATCH 025/105] fixed all test cases in SI after adding phase table --- src/runtime/system/system-interface.org | 106 +++++++++++++++--- .../system/system-with-persistence.org | 9 +- src/runtime/system/system.org | 30 +---- 3 files changed, 103 insertions(+), 42 deletions(-) diff --git a/src/runtime/system/system-interface.org b/src/runtime/system/system-interface.org index e4bb6cf..436e899 100755 --- a/src/runtime/system/system-interface.org +++ b/src/runtime/system/system-interface.org @@ -38,6 +38,7 @@ class SystemInterface (): lab_cls = System.delegate.entities['lab'] exp_cls = System.delegate.entities['experiment'] name_cls = System.delegate.entities['name'] + phase_cls = System.delegate.entities['phase'] email_cls = System.delegate.entities['email'] developer_cls = System.delegate.entities['developer'] asset_cls = System.delegate.entities['asset'] @@ -57,6 +58,7 @@ class SystemInterface (): section = System.do("add_section", section=section, session=session) section_obj_list.append(section) + experiments=data_dict['lab']['experiments'] exp_list = [] for e_id in experiments: @@ -91,20 +93,45 @@ class SystemInterface (): for developer_x in developers: name = name_cls(name=developer_x['name']) email = email_cls(email=developer_x['email']) - developer = System.do("get_developer", email=email) + developer = System.do("get_developer", + email=email) if developer is None: - developer = developer_cls(name=name, email=email) - developer = System.do("add_developer", developer=developer, session=session) + developer = developer_cls(name=name, + email=email) + developer = System.do("add_developer", + developer=developer, + session=session) developer_list.append(developer) + phase = data_dict['lab']['phase'] + phase_list = [] + for phase_x in phase: + phase = phase_cls(phase_id=\ + phase_x['phase_id']) + + phase = System.do("get_phase", phase=phase) + if phase is None: + phase = phase_cls(phase_id= + phase_x['phase_id']) + phase = System.do("add_phase", phase=phase, + session=session) + phase_list.append(phase) + hosting_info = data_dict['lab']['hosting_info'] hosting_info_list = [] for hosting_info_x in hosting_info: - hosting_info = System.do("get_hosting_info", hosted_url=hosting_info_x['hosted_url']) + hosting_info = System.do("get_hosting_info", + hosted_url=hosting_info_x['hosted_url']) if hosting_info is None: - hosting_info = hosting_info_cls(hosting_status=str(hosting_info_x['hosting_status']), \ - hosted_url=str(hosting_info_x['hosted_url']), hosted_on=str(hosting_info_x['hosted_on'])) - hosting_info = System.do("add_hosting_info", hosting_info=hosting_info, session=session) + hosting_info = hosting_info_cls\ + (hosting_status=\ + str(hosting_info_x['hosting_status']), \ + hosted_url=str(hosting_info_x\ + ['hosted_url']), + hosted_on=str(hosting_info_x['hosted_on'])) + hosting_info = System.do("add_hosting_info", + hosting_info=hosting_info, + session=session) hosting_info_list.append(hosting_info) lab = lab_cls(lab_name=data_dict['lab']['name'], @@ -116,6 +143,7 @@ class SystemInterface (): assets=asset_list, experiments=exp_list, developers=developer_list, + phase=phase_list, sections=section_obj_list, hosting_info=hosting_info_list) try: @@ -284,6 +312,7 @@ class TestAddLab(TestCase): "overview": "overview", "discipline_id": "CSE", "institute_id": "IITK", + "phase":[{"phase_id":1, "phase_id":2}], "developers": [ { "name": "Dinesh Malviya", @@ -294,6 +323,7 @@ class TestAddLab(TestCase): "email": "abc@gmail.com" } ], + "phase":[{"phase_id":1, "phase_id":2}], "hosting_info": [ { "hosting_status": "hosted", @@ -350,8 +380,9 @@ class TestAddLab(TestCase): 'xyz@gmail.com') self.assertEqual(lab.get("developers")[1].get("email").get("email"), 'abc@gmail.com') - self.assertEqual(lab.get("sections")[0].get("name"), - 'Procedure') + self.assertEqual(str(lab.get("sections")[0].get("name")), + str(data_dict['lab']['sections'][0])) + def test_add_lab_raises_type_error_in_system_interface(self): print "test_add_lab_raises_type_error_in_system_interface" @@ -432,6 +463,7 @@ class TestAddLab(TestCase): "name": "arrays", "discipline_id": "CSE", "institute_id": "IITK", + "phase":[{"phase_id":1, "phase_id":2}], "developers": [ { "name": "Dinesh Malviya", @@ -490,6 +522,7 @@ class TestAddLab(TestCase): "overview": "overview", "discipline_id": "CSE", "institute_id": "IIITH", + "phase":[{"phase_id":1, "phase_id":2}], "developers": [ { "name": "Dinesh Malviya", @@ -1777,6 +1810,7 @@ class TestGetLabs(TestCase): "overview": "overview", "discipline_id": "CSE", "institute_id": "IITK", + "phase":[{"phase_id":1, "phase_id":2}], "developers": [ { "name": "Dinesh Malviya", @@ -1830,6 +1864,7 @@ class TestGetLabs(TestCase): "overview": "overview", "discipline_id": "CSE", "institute_id": "IITK", + "phase":[{"phase_id":1, "phase_id":2}], "developers": [ { "name": "Dinesh Malviya", @@ -2011,7 +2046,7 @@ class TestGetLabsByKeywordLabName(TestCase): "key" : KEY, "experiment": { "id": "exp123", - "overview": "overview", + "overview": "overview", "name": "Parallel and distributed processing", "discipline_id": "CSE", "institute_id": "IITK", @@ -2065,6 +2100,8 @@ class TestGetLabsByKeywordLabName(TestCase): 'asset_type': 'image'}, {'path':'vlabs.ac.in/images/static/image.png', 'asset_type': 'image'}], + "phase":[{"phase_id":1, "phase_id":2}], + "phase":[{"phase_id":1, "phase_id":2}], 'developers': [{'name':'Prof. Dharamaja', 'email': 'abc@gmail.com', 'institute_id': 'IITK', 'discipline_id': 'CSE'}, @@ -2089,6 +2126,7 @@ class TestGetLabsByKeywordLabName(TestCase): "overview": "overview", "discipline_id": "CSE", "institute_id": "IITK", + "phase":[{"phase_id":1, "phase_id":2}], "developers": [ { "name": "Dinesh Malviya", @@ -2139,6 +2177,7 @@ class TestGetLabsByKeywordLabName(TestCase): "overview": "overview", "discipline_id": "CSE", "institute_id": "IITK", + "phase":[{"phase_id":1, "phase_id":2}], "developers": [ { "name": "Dinesh Malviya", @@ -2374,6 +2413,7 @@ class TestGetLabsByInstitute(TestCase): "overview": "overview", "discipline_id": "CSE", "institute_id": "IITK", + "phase":[{"phase_id":1, "phase_id":2}], "developers": [ { "name": "Dinesh Malviya", @@ -2428,6 +2468,7 @@ class TestGetLabsByInstitute(TestCase): "overview": "overview", "discipline_id": "CSE", "institute_id": "IITK", + "phase":[{"phase_id":1, "phase_id":2}], "developers": [ { "name": "Dinesh Malviya", @@ -2651,6 +2692,7 @@ class TestGetLabsByDiscipline(TestCase): "overview": "overview", "discipline_id": "CSE", "institute_id": "IITK", + "phase":[{"phase_id":1, "phase_id":2}], "developers": [ { "name": "Dinesh Malviya", @@ -2705,6 +2747,7 @@ class TestGetLabsByDiscipline(TestCase): "overview": "overview", "discipline_id": "CSE", "institute_id": "IITK", + "phase":[{"phase_id":1, "phase_id":2}], "developers": [ { "name": "Dinesh Malviya", @@ -2924,6 +2967,7 @@ class TestGetLabsByLabName(TestCase): "overview": "overview", "discipline_id": "CSE", "institute_id": "IITK", + "phase":[{"phase_id":1, "phase_id":2}], "developers": [ { "name": "Dinesh Malviya", @@ -2977,6 +3021,7 @@ class TestGetLabsByLabName(TestCase): "overview": "overview", "discipline_id": "CSE", "institute_id": "IITK", + "phase":[{"phase_id":1, "phase_id":2}], "developers": [ { "name": "Dinesh Malviya", @@ -3206,6 +3251,7 @@ class TestGetLabsByAssetType(TestCase): "overview": "overview", "discipline_id": "CSE", "institute_id": "IIITH", + "phase":[{"phase_id":1, "phase_id":2}], "developers": [ { "name": "Dinesh Malviya", @@ -3259,6 +3305,7 @@ class TestGetLabsByAssetType(TestCase): "overview": "overview", "discipline_id": "CSE", "institute_id": "IIITH", + "phase":[{"phase_id":1, "phase_id":2}], "developers": [ { "name": "Dinesh Malviya", @@ -3469,6 +3516,7 @@ class TestGetLabsByIntegration_Status(TestCase): "overview": "overview", "discipline_id": "CSE", "institute_id": "IIITH", + "phase":[{"phase_id":1, "phase_id":2}], "developers": [ { "name": "Dinesh Malviya", @@ -3523,6 +3571,7 @@ class TestGetLabsByIntegration_Status(TestCase): "overview": "overview", "discipline_id": "CSE", "institute_id": "IIITH", + "phase":[{"phase_id":1, "phase_id":2}], "developers": [ { "name": "Dinesh Malviya", @@ -4653,6 +4702,7 @@ class TestGetLabById(TestCase): "overview": "overview", "discipline_id": "CSE", "institute_id": "IITK", + "phase":[{"phase_id":1, "phase_id":2}], "developers": [ { "name": "Dinesh Malviya", @@ -4706,6 +4756,7 @@ class TestGetLabById(TestCase): "overview": "overview", "discipline_id": "CSE", "institute_id": "IITK", + "phase":[{"phase_id":1, "phase_id":2}], "developers": [ { "name": "Dinesh Malviya", @@ -5343,6 +5394,7 @@ class TestGetNameById(TestCase): name_cls = System.delegate.entities['name'] email_cls = System.delegate.entities['email'] section_cls = System.delegate.entities['section'] + phase_cls = System.delegate.entities['phase'] session = session_cls(key=data_dict['key']) @@ -5354,6 +5406,25 @@ class TestGetNameById(TestCase): else: lab_name=data_dict['lab']['name'] + + if 'phase' not in data_dict['lab']: + phase_list = lab.get("phase") + else: + phase = data_dict['lab']['phase'] + phase_list = [] + + for phase_x in phase: + phase = phase_cls(phase_id=\ + phase_x['phase_id']) + phase = System.do("get_phase", phase=phase) + if phase is None: + phase = phase_cls(phase_id= + phase_x['phase_id']) + phase = System.do("add_phase", phase=phase, + session=session) + phase_list.append(phase) + + if 'overview' not in data_dict['lab']: overview=str(lab.get("overview")) else: @@ -5457,12 +5528,14 @@ class TestGetNameById(TestCase): current_app.logger.debug("running operation update_lab") lab = System.do("update_lab", lab=lab, lab_name=lab_name, - overview=overview, session=session, + overview=overview, + session=session, institute=institute, discipline=discipline, hosting_info=hosting_info_list, assets=asset_list, experiments=exp_list, + phase=phase_list, developers=developer_list, sections=section_obj_list, integration_status=integration_status) @@ -5618,6 +5691,7 @@ class TestUpdateLab(TestCase): "overview": "overview", "discipline_id": "CSE", "institute_id": "IITK", + "phase":[{"phase_id":1, "phase_id":2}], "developers": [ { "name": "Dinesh Malviya", @@ -5762,6 +5836,7 @@ class TestUpdateLab(TestCase): "overview": "overviewasds", "discipline_id": "CSE", "institute_id": "IITK", + "phase":[{"phase_id":1, "phase_id":2}], "developers": [ { "name": "Dinesh Malviya", @@ -5837,7 +5912,6 @@ class TestUpdateLab(TestCase): #+END_SRC - ** Update Experiment #+NAME: class_update_experiment #+begin_src python @@ -6942,6 +7016,7 @@ class TestDeleteLab(TestCase): "overview": "overview", "discipline_id": "CSE", "institute_id": "IITK", + "phase":[{"phase_id":1, "phase_id":2}], "developers": [ { "name": "Dinesh Malviya", @@ -6997,6 +7072,7 @@ class TestDeleteLab(TestCase): "overview": "overview", "discipline_id": "CSE", "institute_id": "IITK", + "phase":[{"phase_id":1, "phase_id":2}], "developers": [ { "name": "Dinesh Malviya", @@ -8068,6 +8144,7 @@ class TestGetLabByLabId(TestCase): "overview": "overview", "discipline_id": "CSE", "institute_id": "IITK", + "phase":[{"phase_id":1, "phase_id":2}], "developers": [ { "name": "Dinesh Malviya", @@ -8122,6 +8199,7 @@ class TestGetLabByLabId(TestCase): "overview": "overview", "discipline_id": "CSE", "institute_id": "IITK", + "phase":[{"phase_id":1, "phase_id":2}], "developers": [ { "name": "Dinesh Malviya", @@ -8291,6 +8369,7 @@ class TestGetExpByExpId(TestCase): "name": "Parallel and distributed processing", "discipline_id": "CSE", "institute_id": "IITK", + "phase":[{"phase_id":1, "phase_id":2}], "developers": [ { "name": "Dinesh Malviya", @@ -8342,6 +8421,7 @@ class TestGetExpByExpId(TestCase): "name": "Parallel and distributed processing", "discipline_id": "CSE", "institute_id": "IITK", + "phase":[{"phase_id":1, "phase_id":2}], "developers": [ { "name": "Dinesh Malviya", @@ -9201,7 +9281,7 @@ if __name__ == '__main__': #+BEGIN_SRC python :tangle test_system_interface.py :eval no :noweb yes <> -#<> +<> <> <> <> diff --git a/src/runtime/system/system-with-persistence.org b/src/runtime/system/system-with-persistence.org index 958404d..c60197f 100755 --- a/src/runtime/system/system-with-persistence.org +++ b/src/runtime/system/system-with-persistence.org @@ -2551,7 +2551,7 @@ class TestGetName(TestCase): name.save() - name2 = System.do("get_name", name=name, session=session) + name2 = System.do("get_name", name=name) self.assertEqual(name2.get("name"), name1) #+END_SRC @@ -2585,8 +2585,7 @@ class TestGetphase_cls(TestCase): phase = phase_cls(phase_id=1) phase.save() - phase = System.do("get_phase", phase=phase, - session=session) + phase = System.do("get_phase", phase=phase) self.assertEqual(phase.get("phase_id"), 1) @@ -2710,7 +2709,7 @@ class TestGetEmail(TestCase): email.save() - email2 = System.do("get_email", email=email, session=session) + email2 = System.do("get_email", email=email) self.assertEqual(email2.get("email"), email1) @@ -3237,7 +3236,7 @@ class TestGetName(TestCase): name.save() - name2 = System.do("get_section", name=name, session=session) + name2 = System.do("get_section", name=name) self.assertEqual(name2.get("name"), name1) #+END_SRC diff --git a/src/runtime/system/system.org b/src/runtime/system/system.org index 245c84c..e4f0011 100755 --- a/src/runtime/system/system.org +++ b/src/runtime/system/system.org @@ -1599,18 +1599,13 @@ class AddSectionsToExperiment(): #+NAME: class_get_name #+begin_src python class GetName(): - arg_types = {"name": is_name, "session": is_session} + arg_types = {"name": is_name} arity_and_type_checks_needed = True @staticmethod def auth_check(args): - session = args['session'] - current_app.logger.debug("checking authorization") - if not System.is_session_valid(session): - current_app.logger.debug("authorization is failed") - raise NotAuthorizedError("Not Authorized to perform this action") - current_app.logger.debug("authorization check is done") + pass @staticmethod def state_check(args): @@ -1630,21 +1625,13 @@ class GetName(): #+NAME: class_get_phase #+begin_src python class GetPhase(): - arg_types = {"phase": is_phase, "session": is_session} + arg_types = {"phase": is_phase} arity_and_type_checks_needed = True @staticmethod def auth_check(args): - session = args['session'] - current_app.logger.debug("checking authorization") - if not System.is_session_valid(session): - current_app.logger.debug("authorization is" - "failed") - raise NotAuthorizedError("Not Authorized to" - " perform this action") - current_app.logger.debug("authorization check is" - " done") + pass @staticmethod def state_check(args): @@ -1664,18 +1651,13 @@ class GetPhase(): #+NAME: class_get_email #+begin_src python class GetEmail(): - arg_types = {"email": is_email, "session": is_session} + arg_types = {"email": is_email} arity_and_type_checks_needed = True @staticmethod def auth_check(args): - session = args['session'] - current_app.logger.debug("checking authorization") - if not System.is_session_valid(session): - current_app.logger.debug("authorization is failed") - raise NotAuthorizedError("Not Authorized to perform this action") - current_app.logger.debug("authorization check is done") + pass @staticmethod def state_check(args): From 13a412824c670dacf0feed55e682018d57cb7471 Mon Sep 17 00:00:00 2001 From: madhavi Date: Mon, 9 Oct 2017 16:45:28 +0530 Subject: [PATCH 026/105] add phase table to rest layer --- src/runtime/rest/api.org | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/src/runtime/rest/api.org b/src/runtime/rest/api.org index 53bdf2c..ff94a4e 100755 --- a/src/runtime/rest/api.org +++ b/src/runtime/rest/api.org @@ -1423,6 +1423,7 @@ class TestGetLab(TestCase): "overview": "overview", "discipline_id": "CSE", "institute_id": "IITK", + "phase":[{"phase_id":1, "phase_id":2}], "developers": [ { "name": "Dinesh Malviya", @@ -1632,6 +1633,7 @@ class TestGetLabbyLabId(TestCase): "overview": "overview", "discipline_id": "CSE", "institute_id": "IITK", + "phase":[{"phase_id":1, "phase_id":2}], "developers": [ { "name": "Dinesh Malviya", @@ -1838,6 +1840,7 @@ class TestGetLabsbyInstitute(TestCase): "overview": "overview", "discipline_id": "CSE", "institute_id": "IITK", + "phase":[{"phase_id":1, "phase_id":2}], "developers": [ { "name": "Dinesh Malviya", @@ -2046,6 +2049,7 @@ class TestGetLabsbyDiscipline(TestCase): "overview": "overview", "discipline_id": "CSE", "institute_id": "IITK", + "phase":[{"phase_id":1, "phase_id":2}], "developers": [ { "name": "Dinesh Malviya", @@ -2262,6 +2266,7 @@ class TestGetLabsbyLabName(TestCase): "overview": "overview", "discipline_id": "CSE", "institute_id": "IITK", + "phase":[{"phase_id":1, "phase_id":2}], "developers": [ { "name": "Prof. Dharamaja", @@ -2472,6 +2477,7 @@ class TestGetLabsbyAsset(TestCase): "overview": "overview", "discipline_id": "CSE", "institute_id": "IITK", + "phase":[{"phase_id":1, "phase_id":2}], "developers": [ { "name": "Dinesh Malviya", @@ -2670,6 +2676,7 @@ class TestGetLabbyLabNameKeyWord(TestCase): "overview": "overview", "discipline_id": "CSE", "institute_id": "IITK", + "phase":[{"phase_id":1, "phase_id":2}], "developers": [ { "name": "Prof. Dharamaja", @@ -2736,6 +2743,7 @@ class TestGetLabbyLabNameKeyWord(TestCase): "overview": "overview", "discipline_id": "CSE", "institute_id": "IITK", + "phase":[{"phase_id":1, "phase_id":2}], "developers": [ { "name": "Dinesh Malviya", @@ -2850,6 +2858,7 @@ class TestGetLabbyLabNameKeyWord(TestCase): "institute_id": "iitk", "institute_name": "IIT Kanpur" }, + "phase":[{"phase_id":1, "phase_id":2}], "integration_status": { "id": "5", "integration_level": 4 @@ -3095,7 +3104,9 @@ class TestAddLab(TestCase): "name": "Computer Programming", "overview": "overview", "discipline_id": "CSE", + "phase":[{"phase_id":1, "phase_id":2}], "institute_id": "IITK", + "phase":[{"phase_id":1, "phase_id":2}], "developers": [ { "name": "Dinesh Malviya", @@ -3952,6 +3963,7 @@ class TestAddLab(TestCase): "id": "1", "integration_level": 0 }, + "phase":[{"phase_id":1, "phase_id":2}], "lab_id": "cse02", "lab_name": "Computer Programming", "overview": "This lab deals with Computer Programming", @@ -4178,6 +4190,7 @@ class TestUpdateLab(TestCase): "overview": "overview", "discipline_id": "CSE", "institute_id": "IITK", + "phase":[{"phase_id":1, "phase_id":2}], "developers": [ { "name": "Prof. Dharamaja", @@ -4300,6 +4313,7 @@ class TestUpdateLab(TestCase): "overview": "cp overview", "discipline_id": "ECE", "institute_id": "IITKgp", + "phase":[{"phase_id":1, "phase_id":2}], "developers": [ { "name": "Prof. Pallavi Pawar", @@ -7162,6 +7176,7 @@ class TestDeleteLab(TestCase): "overview": "overview", "discipline_id": "CSE", "institute_id": "IITK", + "phase":[{"phase_id":1, "phase_id":2}], "developers": [ { "name": "Dinesh Malviya", From d0a4310ef52ee8def488aac82656c78645de495a Mon Sep 17 00:00:00 2001 From: madhavi Date: Tue, 10 Oct 2017 14:22:17 +0530 Subject: [PATCH 027/105] add migration script for phase table --- src/deployment/index.org | 35 ++++++++++++++++++++++++++-- src/runtime/persistence/entities.org | 4 ++-- 2 files changed, 35 insertions(+), 4 deletions(-) diff --git a/src/deployment/index.org b/src/deployment/index.org index aab461c..49050eb 100755 --- a/src/deployment/index.org +++ b/src/deployment/index.org @@ -252,8 +252,7 @@ drop table asset_old mysqldump -u root -proot lds_old > lds.sql #+END_SRC ** Migration Script -#+BEGIN_SRC python :tangle migrate.py :eval no - +#+BEGIN_SRC python :tangle migrate_asset.py :eval no #!/usr/bin/python import MySQLdb import sys @@ -322,6 +321,38 @@ if __name__ == "__main__": cursor1.close() connection1.close() +#+END_SRC +* program to add 'phase' entity +** Manual Steps +#+BEGIN_SRC +create table phase(id int(11) auto_increment, phase_id int(11) unique, primary key(id)); +create table labs_phase(labid int(11), foreign key (labid) references lab(id), phase_id int(11), foreign key(phase_id) references phase(id)); +#+END_SRC +** Migration Script +#+BEGIN_SRC python :tangle migrate_phase.py :eval no +#!/usr/bin/python +import MySQLdb +import sys + +def populate_phase_table(): + print "Populating phase table.." + cursor1.execute("create table phase(id int(11) auto_increment, phase_id int(11) unique, primary key(id));") + data = cursor1.fetchall() + cursor1.execute("create table labs_phase(labid int(11), foreign key (labid) references lab(id), phase_id int(11), foreign key(phase_id) references phase(id));") + data = cursor1.fetchall() + print "Done.." + +if __name__ == "__main__": + connection1 = MySQLdb.connect(host="localhost", + user="root", + passwd="root", + db="lds") + cursor1 = connection1.cursor() + + populate_phase_table() + cursor1.close() + connection1.close() + #+END_SRC * Install all dependencies and setup the software Install all dependencies, including the OS related packages, Python packages, diff --git a/src/runtime/persistence/entities.org b/src/runtime/persistence/entities.org index 98770ed..56fad95 100755 --- a/src/runtime/persistence/entities.org +++ b/src/runtime/persistence/entities.org @@ -34,7 +34,7 @@ lab_developers = db.Table('lab_developers', db.Column('developer_id', db.Integer, db.ForeignKey('developer.id'))) -lab_phase = db.Table('lab_phase', +labs_phase = db.Table('labs_phase', db.Column('labid', db.Integer, db.ForeignKey('lab.id')), db.Column('phase_id', db.Integer, @@ -83,7 +83,7 @@ args = {"__tablename__": "lab", backref='labs'), "phase": db.relationship('Phase', - secondary=lab_phase, + secondary=labs_phase, backref='labs'), "hosting_info": db.relationship('HostingInfo', From 6eb6c6003800187cc08197fa6033bd722d4197f9 Mon Sep 17 00:00:00 2001 From: madhavi Date: Tue, 10 Oct 2017 14:53:54 +0530 Subject: [PATCH 028/105] add backup and restore scripts --- scripts/backup.sh | 2 +- scripts/restore.sh | 13 +++++++++++-- 2 files changed, 12 insertions(+), 3 deletions(-) mode change 100644 => 100755 scripts/backup.sh mode change 100644 => 100755 scripts/restore.sh diff --git a/scripts/backup.sh b/scripts/backup.sh old mode 100644 new mode 100755 index 0d075c5..1c956ac --- a/scripts/backup.sh +++ b/scripts/backup.sh @@ -4,7 +4,7 @@ DB_NAME="lds" DB_PASS="root" OUT_FILE_NAME="ldsbackup" -VERSION="v1.0.0" +VERSION="v2.1.0" OUT_FILE="$OUT_FILE_NAME-$VERSION.tar" diff --git a/scripts/restore.sh b/scripts/restore.sh old mode 100644 new mode 100755 index c64259a..67484cf --- a/scripts/restore.sh +++ b/scripts/restore.sh @@ -3,7 +3,7 @@ DB_NAME="lds" DB_PASS="xxx" VERSION="v1.0.0" - +MIGRATION_SCRIPT_PATH="../build/code/deployment" BACKUP_FILE=$1 usage() { @@ -43,4 +43,13 @@ echo "################" echo "Restore successful." echo "###############" -exit 0; +chmod +x $MIGRATION_SCRIPT_PATH"/migrate_phase.py" && python $MIGRATION_SCRIPT_PATH"/migrate_phase.py" +if [ $? -ne 0 ]; then + echo "Error: Something went wrong while restoring db dump." + echo "Aborting restore." + exit 1; +fi + +echo "################" +echo "Migration successful." +echo "###############" From 0d81550f9147b975d21f0c06b654322a49f0b7a4 Mon Sep 17 00:00:00 2001 From: madhavi Date: Tue, 10 Oct 2017 15:49:27 +0530 Subject: [PATCH 029/105] add package 'python-mysqldb' to packages list --- src/deployment/index.org | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/deployment/index.org b/src/deployment/index.org index 49050eb..c5f93aa 100755 --- a/src/deployment/index.org +++ b/src/deployment/index.org @@ -403,7 +403,8 @@ fi # Install pre-requsite dependencies: python-dev, mysqld-dev, setuptools, # apache, mod_wsgi etc. echo "Installing pre-requisite dependencies.." -apt-get install -y python-dev libmysqld-dev python-setuptools apache2 libapache2-mod-wsgi +apt-get install -y python-dev libmysqld-dev python-setuptools apache2 libapache2-mod-wsgi python-mysqldb + if [[ $? -ne 0 ]]; then echo "FATAL: Installing pre-requisite dependencies failed!" exit 1; From 6f3826f20a367de23a85df85efbae3718a57810a Mon Sep 17 00:00:00 2001 From: madhavi Date: Thu, 12 Oct 2017 11:28:25 +0530 Subject: [PATCH 030/105] add realization plan --- src/realization-plan/index.org | 60 ++++++++++++++++++++++++++++++++++ 1 file changed, 60 insertions(+) create mode 100644 src/realization-plan/index.org diff --git a/src/realization-plan/index.org b/src/realization-plan/index.org new file mode 100644 index 0000000..a956b9a --- /dev/null +++ b/src/realization-plan/index.org @@ -0,0 +1,60 @@ +#+TITLE: Plan for Lab Data Service +#+AUTHOR: VLEAD +#+DATE: [2017-10-11 Wed] +#+PROPERTY: results output +#+PROPERTY: exports code +#+SETUPFILE: ../org-templates/level-1.org +#+options: ^:nil +#+LATEX: Literal LaTeX code for export + +* Introduction + - This document contains the realization plan for + implementing the Lab Data Service. + +* Plan + +** [[https://github.com/vlead/lab-data-service/milestone/8][Milestone one]] + :PROPERTIES: + :CUSTOM_ID: plan-for-milestone-one + :END: + + This milestone includes the following features: +1) Updating LDS with 178 Labs data +2) Features/Enhancements: + a) Add 'Phase' table to the current Schema. + b) Implementation of 'Migration' Script. + c) Implementation of 'Backup' and 'Restore' Scripts. + +#+caption: realization-plan +#+name: tbl-realization-plan +|-------+--------------------------+--------+----------+--------+------------+------------+-------------+-----------| +| S. | Tasks | Github | Expected | Actual | Estimated | Actual | Status | Assignee | +| NO | | Issues | Effort | Effort | Start, | Start/ | | | +| | | | (in | (in | End | End | | | +| | | | person | person | Dates | Dates | | | +| | | | hours) | hours) | | | | | +|-------+--------------------------+--------+----------+--------+------------+------------+-------------+-----------| +| 1. | Some labs are not | [[https://github.com/vlead/lab-data-service/issues/92][#92]] | 60 | 48 | 09-09-2017 | 09-09-2017 | Done | Sanchita | +| | captured in lds database | | | | 13-09-2017 | 13-09-2017 | | Mrudhvika | +|-------+--------------------------+--------+----------+--------+------------+------------+-------------+-----------| +| 2. | create a new table | [[https://github.com/vlead/lab-data-service/issues/91][#91]] | 60 | 24 | 02-10-2017 | 03-10-2017 | Done | Madhavi | +| | 'Phase' in the database | | | | 06-10-2017 | 06-10-2017 | | | +|-------+--------------------------+--------+----------+--------+------------+------------+-------------+-----------| +| 3. | Implementation of | [[https://github.com/vlead/lab-data-service/issues/95][#95]] | 8 | 6 | 09-10-2017 | 09-10-2017 | Done | Madhavi | +| | Migration Script | | | | 09-10-2017 | 09-10-2017 | | | +|-------+--------------------------+--------+----------+--------+------------+------------+-------------+-----------| +| 4. | Implementation of | [[https://github.com/vlead/lab-data-service/issues/96][#96]] | 8 | 6 | 10-10-2017 | 10-10-2017 | Done | Madhavi | +| | 'Restore' and | | | | 10-10-2017 | 10-10-2017 | | | +| | 'Backup' Scripts | | | | | | | | +|-------+--------------------------+--------+----------+--------+------------+------------+-------------+-----------| +| 5. | Deployment of | [[https://github.com/vlead/lab-data-service/issues/97][#97]] | 16 | 12 | 11-10-2017 | 11-10-2017 | In Progress | Madhavi | +| | 'lab-data-service' | | | | 12-10-2017 | 12-10-2017 | | | +| | on Testing and | | | | | | | | +| | Staging Environments | | | | | | | | +|-------+--------------------------+--------+----------+--------+------------+------------+-------------+-----------| +| = | | | | | | | | | +| Total | | | 152 | | | | | | +| ^ | | | total | | | | | | +|-------+--------------------------+--------+----------+--------+------------+------------+-------------+-----------| +#+TBLFM: $total=vsum(@II+1..@-1) + From 918a896ab4af8242583541c453e54f37d11c5ad3 Mon Sep 17 00:00:00 2001 From: madhavi Date: Thu, 12 Oct 2017 12:48:10 +0530 Subject: [PATCH 031/105] update realization plan --- src/realization-plan/index.org | 61 +++++++++++++++++----------------- 1 file changed, 30 insertions(+), 31 deletions(-) diff --git a/src/realization-plan/index.org b/src/realization-plan/index.org index a956b9a..8c4b121 100644 --- a/src/realization-plan/index.org +++ b/src/realization-plan/index.org @@ -12,7 +12,6 @@ implementing the Lab Data Service. * Plan - ** [[https://github.com/vlead/lab-data-service/milestone/8][Milestone one]] :PROPERTIES: :CUSTOM_ID: plan-for-milestone-one @@ -27,34 +26,34 @@ #+caption: realization-plan #+name: tbl-realization-plan -|-------+--------------------------+--------+----------+--------+------------+------------+-------------+-----------| -| S. | Tasks | Github | Expected | Actual | Estimated | Actual | Status | Assignee | -| NO | | Issues | Effort | Effort | Start, | Start/ | | | -| | | | (in | (in | End | End | | | -| | | | person | person | Dates | Dates | | | -| | | | hours) | hours) | | | | | -|-------+--------------------------+--------+----------+--------+------------+------------+-------------+-----------| -| 1. | Some labs are not | [[https://github.com/vlead/lab-data-service/issues/92][#92]] | 60 | 48 | 09-09-2017 | 09-09-2017 | Done | Sanchita | -| | captured in lds database | | | | 13-09-2017 | 13-09-2017 | | Mrudhvika | -|-------+--------------------------+--------+----------+--------+------------+------------+-------------+-----------| -| 2. | create a new table | [[https://github.com/vlead/lab-data-service/issues/91][#91]] | 60 | 24 | 02-10-2017 | 03-10-2017 | Done | Madhavi | -| | 'Phase' in the database | | | | 06-10-2017 | 06-10-2017 | | | -|-------+--------------------------+--------+----------+--------+------------+------------+-------------+-----------| -| 3. | Implementation of | [[https://github.com/vlead/lab-data-service/issues/95][#95]] | 8 | 6 | 09-10-2017 | 09-10-2017 | Done | Madhavi | -| | Migration Script | | | | 09-10-2017 | 09-10-2017 | | | -|-------+--------------------------+--------+----------+--------+------------+------------+-------------+-----------| -| 4. | Implementation of | [[https://github.com/vlead/lab-data-service/issues/96][#96]] | 8 | 6 | 10-10-2017 | 10-10-2017 | Done | Madhavi | -| | 'Restore' and | | | | 10-10-2017 | 10-10-2017 | | | -| | 'Backup' Scripts | | | | | | | | -|-------+--------------------------+--------+----------+--------+------------+------------+-------------+-----------| -| 5. | Deployment of | [[https://github.com/vlead/lab-data-service/issues/97][#97]] | 16 | 12 | 11-10-2017 | 11-10-2017 | In Progress | Madhavi | -| | 'lab-data-service' | | | | 12-10-2017 | 12-10-2017 | | | -| | on Testing and | | | | | | | | -| | Staging Environments | | | | | | | | -|-------+--------------------------+--------+----------+--------+------------+------------+-------------+-----------| -| = | | | | | | | | | -| Total | | | 152 | | | | | | -| ^ | | | total | | | | | | -|-------+--------------------------+--------+----------+--------+------------+------------+-------------+-----------| -#+TBLFM: $total=vsum(@II+1..@-1) +|-------+--------------------------+--------+-----------+--------+------------+------------+--------+-----------| +| S. | Tasks | Github | Expected | Actual | Estimated | Actual | Status | Assignee | +| NO | | Issues | Effort | Effort | Start, | Start/ | | | +| | | | (in | (in | End | End | | | +| | | | person | person | Dates | Dates | | | +| | | | hours) | hours) | | | | | +|-------+--------------------------+--------+-----------+--------+------------+------------+--------+-----------| +| 1. | Some labs are not | [[https://github.com/vlead/lab-data-service/issues/92][#92]] | 60 | 48 | 09-09-2017 | 09-09-2017 | Done | Sanchita | +| | captured in lds database | | | | 13-09-2017 | 13-09-2017 | | Mrudhvika | +|-------+--------------------------+--------+-----------+--------+------------+------------+--------+-----------| +| 2. | create a new table | [[https://github.com/vlead/lab-data-service/issues/91][#91]] | 60 | 24 | 02-10-2017 | 03-10-2017 | Done | Madhavi | +| | 'Phase' in the database | | | | 06-10-2017 | 06-10-2017 | | | +|-------+--------------------------+--------+-----------+--------+------------+------------+--------+-----------| +| 3. | Implementation of | [[https://github.com/vlead/lab-data-service/issues/95][#95]] | 8 | 6 | 09-10-2017 | 09-10-2017 | Done | Madhavi | +| | Migration Script | | | | 09-10-2017 | 09-10-2017 | | | +|-------+--------------------------+--------+-----------+--------+------------+------------+--------+-----------| +| 4. | Implementation of | [[https://github.com/vlead/lab-data-service/issues/96][#96]] | 8 | 6 | 10-10-2017 | 10-10-2017 | Done | Madhavi | +| | 'Restore' and | | | | 10-10-2017 | 10-10-2017 | | | +| | 'Backup' Scripts | | | | | | | | +|-------+--------------------------+--------+-----------+--------+------------+------------+--------+-----------| +| 5. | Deployment of | [[https://github.com/vlead/lab-data-service/issues/97][#97]] | 16 | 12 | 11-10-2017 | 11-10-2017 | Done | Madhavi | +| | 'lab-data-service' | | | | 12-10-2017 | 12-10-2017 | | | +| | on Testing and | | | | | | | | +| | Staging Environments | | | | | | | | +|-------+--------------------------+--------+-----------+--------+------------+------------+--------+-----------| +| Total | | | 153 | 96 | | | | | +| ^ | | | estimated | actual | | | | | +|-------+--------------------------+--------+-----------+--------+------------+------------+--------+-----------| +#+TBLFM: $estimated=vsum(@II+1..@-1) +#+TBLFM: $actual=vsum(@II+1..@-1) From 9b02878393a682d2e867369e66836b34b11ae9b7 Mon Sep 17 00:00:00 2001 From: madhavi Date: Mon, 16 Oct 2017 17:51:56 +0530 Subject: [PATCH 032/105] add pagination values dynamically in '/developers' --- src/runtime/rest/api.org | 14 ++++++++------ src/runtime/rest/app.org | 2 +- 2 files changed, 9 insertions(+), 7 deletions(-) diff --git a/src/runtime/rest/api.org b/src/runtime/rest/api.org index 056e72c..7ccafe6 100755 --- a/src/runtime/rest/api.org +++ b/src/runtime/rest/api.org @@ -7383,7 +7383,7 @@ REST API to add an hosting_info. #+NAME: add_hosting_info #+BEGIN_SRC python @api.route('/hosting_info', methods=['GET']) -def get_hosting_info(): +def add_hosting_info(): if request.method == 'GET': if 'hosted_url' in request.args: hosted_url = request.args['hosted_url'] @@ -8470,8 +8470,10 @@ def get_developer(): msg = {"status": "failure", "msg": err_str} abort(500, msg) - - else: + + elif 'start' in request.args and 'limit' in request.args: + start=request.args['start'] + limit=request.args['limit'] try: current_app.logger.debug("execute get_developers") developers = SystemInterface.get_developers() @@ -8479,8 +8481,8 @@ def get_developer(): return pagination( developers, '/developers?', - start=int(request.args.get('page', 1)), - limit=int(request.args.get('pageSize', 25)) + start=int(request.args.get('page', start)), + limit=int(request.args.get('pageSize', limit)) ) except TypeError as e: @@ -12276,7 +12278,7 @@ import os import requests import json from flask import session, render_template, Blueprint, request, \ - jsonify, abort, current_app, redirect, url_for + jsonify, abort, current_app, redirect, url_for, make_response from flask import Flask from runtime.utils.type_utils import jsonify_list from runtime.exceptions.custom_exceptions import * diff --git a/src/runtime/rest/app.org b/src/runtime/rest/app.org index 3278300..e7481dd 100755 --- a/src/runtime/rest/app.org +++ b/src/runtime/rest/app.org @@ -216,7 +216,7 @@ from runtime.utils.class_persistence_template import db from runtime.rest.api import api from runtime.system.system_interface import SystemInterface from runtime.system.persistence_delegate import PersistenceDelegate - +from flask import request # import config file from runtime.config import flask_app_config as config from runtime.config.flask_app_config import LOG_FILE_DIRECTORY From a91a940e3cf8a59685442b23989420a7ad6935d2 Mon Sep 17 00:00:00 2001 From: madhavi Date: Tue, 17 Oct 2017 11:28:36 +0530 Subject: [PATCH 033/105] fix rest layer test cases --- src/runtime/rest/api.org | 140 +++++++++------------------------------ 1 file changed, 30 insertions(+), 110 deletions(-) diff --git a/src/runtime/rest/api.org b/src/runtime/rest/api.org index 7ccafe6..b46f5fe 100755 --- a/src/runtime/rest/api.org +++ b/src/runtime/rest/api.org @@ -16,15 +16,30 @@ * REST ** Pagination support for Get request *** Function Design -- This function will allow us to enable pagination of our REST APIs i.e. it will send as many number of objects as the user wants to see and not all the objects together. It is supposed to take in four arguments that will be total object list provied along with the starting integer and a limiting integer. -- The starting integer denotes the number of the object from which the user wants to start the display. -- The limiting integer specifies the maximum number of objects the user wants to display on a particular page and if nothing is specified as the limiting integer then, 25 is taken as the default value. -- The function uses a variable "count" to represent the total number of objects being displayed on a particular page. -- The function checks for different conditions on "count" and accordingly displays the previous and the next page links. -- The response is stored and returned as a jsonified object. + - This function will allow us to enable pagination of + our REST APIs i.e. it will send as many number of + objects as the user wants to see and not all the + objects together. It is supposed to take in four + arguments that will be total object list provided + along with the starting integer and a limiting + integer. + - The starting integer denotes the number of the object + from which the user wants to start the display. + - The limiting integer specifies the maximum number of + objects the user wants to display on a particular page + and if nothing is specified as the limiting integer + then, 25 is taken as the default value. + - The function uses a variable "count" to represent the + total number of objects being displayed on a + particular page. + - The function checks for different conditions on + "count" and accordingly displays the previous and the + next page links. + - The response is stored and returned as a jsonified + object. *** Function Definition - #+NAME: test_get_names + #+NAME: pagination #+BEGIN_SRC python def pagination(klass, url, start, limit): data = {} @@ -53,14 +68,12 @@ def pagination(klass, url, start, limit): response.headers['X-Pagination'] = data return response - #+END_SRC ** Get Labs, Get Lab, Get Labs by institute, lab_name, discipline and asset and Get labs by passing lab_name as keyword *** API Designs - **** Get all labs :PROPERTIES: :CUSTOM_ID: api_get_all_labs @@ -7382,101 +7395,6 @@ http://localhost:5000/hosting_info REST API to add an hosting_info. #+NAME: add_hosting_info #+BEGIN_SRC python -@api.route('/hosting_info', methods=['GET']) -def add_hosting_info(): - if request.method == 'GET': - if 'hosted_url' in request.args: - hosted_url = request.args['hosted_url'] - try: - current_app.logger.debug("execute get_hosting_info_by_hosted_url") - hosting_info = SystemInterface.get_hosting_info_by_hosted_url(hosted_url) - current_app.logger.debug("executed get_hosting_info_by_hosted_url") - return jsonify(hosting_info) - - except NotAuthorizedError as e: - current_app.logger.error("Exception = %s" % str(e)) - err_str = str(e) - msg = {"status": "failure", - "status code": 401, - "msg": err_str} - abort(401, msg) - - except TypeError as e: - current_app.logger.error("Exception = %s" % str(e)) - err_str = str(e) - msg = {"status": "failure", - "msg": err_str } - abort(500, msg) - - except StateError as e: - current_app.logger.error("Exception = %s" % str(e)) - err_str = str(e) - msg = {"status": "failure", - "msg": err_str} - abort(500, msg) - - except NotFoundError as e: - current_app.logger.error("Exception = %s" % str(e)) - err_str = str(e) - msg = {"status": "failure", - "status code": 404, - "msg": err_str} - abort(404, msg) - - except Exception as e: - current_app.logger.error("Exception = %s" % str(e)) - err_str = str(e) - msg = {"status": "failure", - "msg": err_str} - abort(500, msg) - else: - try: - current_app.logger.debug("execute get_hosting_info") - hosting_info = SystemInterface.get_hosting_info() - current_app.logger.debug("executed get_hosting_info") - return pagination( - hosting_info, - '/hosting_info?', - start=int(request.args.get('page', 1)), - limit=int(request.args.get('pageSize', 25)) - ) - - except NotAuthorizedError as e: - current_app.logger.error("Exception = %s" % str(e)) - err_str = str(e) - msg = {"status": "failure", - "status code": 401, - "msg": err_str} - abort(401, msg) - - except TypeError as e: - current_app.logger.error("Exception = %s" % str(e)) - err_str = str(e) - msg = {"status": "failure", - "msg": err_str } - abort(500, msg) - - except StateError as e: - current_app.logger.error("Exception = %s" % str(e)) - err_str = str(e) - msg = {"status": "failure", - "msg": err_str} - abort(500, msg) - - except NotFoundError as e: - current_app.logger.error("Exception = %s" % str(e)) - err_str = str(e) - msg = {"status": "failure", - "status code": 404, - "msg": err_str} - abort(404, msg) - - except Exception as e: - current_app.logger.error("Exception = %s" % str(e)) - err_str = str(e) - msg = {"status": "failure", - "msg": err_str} - abort(500, msg) #+END_SRC @@ -8470,10 +8388,10 @@ def get_developer(): msg = {"status": "failure", "msg": err_str} abort(500, msg) - - elif 'start' in request.args and 'limit' in request.args: - start=request.args['start'] - limit=request.args['limit'] +# elif 'start' in request.args and 'limit' in request.args: +# start=request.args['start'] +# limit=request.args['limit'] + else: try: current_app.logger.debug("execute get_developers") developers = SystemInterface.get_developers() @@ -8482,7 +8400,9 @@ def get_developer(): developers, '/developers?', start=int(request.args.get('page', start)), - limit=int(request.args.get('pageSize', limit)) + limit=int(request.args.get('pageSize', limit)) +# start=int(request.args.get('page', start)), +# limit=int(request.args.get('pageSize', limit)) ) except TypeError as e: @@ -12397,7 +12317,7 @@ if __name__ == '__main__': <> <> <> -<> +<> <> <> <> From 91fa8e535fb8daea722b06b4661ce10139bae0e3 Mon Sep 17 00:00:00 2001 From: madhavi Date: Tue, 17 Oct 2017 11:59:41 +0530 Subject: [PATCH 034/105] fix all test cases in REST layer after integrating pagination --- src/runtime/rest/api.org | 55 ++++++++++++++++++++++++++++++++++++++-- 1 file changed, 53 insertions(+), 2 deletions(-) diff --git a/src/runtime/rest/api.org b/src/runtime/rest/api.org index b46f5fe..51e31cf 100755 --- a/src/runtime/rest/api.org +++ b/src/runtime/rest/api.org @@ -7395,6 +7395,57 @@ http://localhost:5000/hosting_info REST API to add an hosting_info. #+NAME: add_hosting_info #+BEGIN_SRC python +@api.route('/hosting_info', methods=['POST']) +def add_hosting_info(): + if request.method == 'POST': + if request.is_json: + data_json = json.dumps(request.get_json()) + data_dict = yaml.safe_load(data_json) + else: + abort(500, "the request does not contain data in json") + + try: + current_app.logger.debug("execute add_hosting_info") + hosting_info = SystemInterface.add_hosting_info(data_dict) + current_app.logger.debug("executed add_hosting_info") + return jsonify(hosting_info) + + except NotAuthorizedError as e: + current_app.logger.error("Exception = %s" % str(e)) + err_str = str(e) + msg = {"status": "failure", + "status code": 401, + "msg": err_str} + abort(401, msg) + + except TypeError as e: + current_app.logger.error("Exception = %s" % str(e)) + err_str = str(e) + msg = {"status": "failure", + "msg": err_str } + abort(500, msg) + + except StateError as e: + current_app.logger.error("Exception = %s" % str(e)) + err_str = str(e) + msg = {"status": "failure", + "msg": err_str} + abort(500, msg) + + except NotFoundError as e: + current_app.logger.error("Exception = %s" % str(e)) + err_str = str(e) + msg = {"status": "failure", + "status code": 404, + "msg": err_str} + abort(404, msg) + + except Exception as e: + current_app.logger.error("Exception = %s" % str(e)) + err_str = str(e) + msg = {"status": "failure", + "msg": err_str} + abort(500, msg) #+END_SRC @@ -8399,8 +8450,8 @@ def get_developer(): return pagination( developers, '/developers?', - start=int(request.args.get('page', start)), - limit=int(request.args.get('pageSize', limit)) + start=int(request.args.get('page', 1)), + limit=int(request.args.get('pageSize', 25)) # start=int(request.args.get('page', start)), # limit=int(request.args.get('pageSize', limit)) ) From 8c334cc150759f548734f1147dd4eb7664300fd4 Mon Sep 17 00:00:00 2001 From: madhavi Date: Tue, 17 Oct 2017 12:06:17 +0530 Subject: [PATCH 035/105] add install new package open ssl --- src/deployment/index.org | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/deployment/index.org b/src/deployment/index.org index c5f93aa..69f3e5a 100755 --- a/src/deployment/index.org +++ b/src/deployment/index.org @@ -429,7 +429,7 @@ tar xvf oursql-0.9.3.2.tar.gz cd oursql-0.9.3.2 python setup.py install -pip install Flask Flask-SQLAlchemy oursql requests flask-cors flask-testing +pip install Flask Flask-SQLAlchemy oursql requests flask-cors flask-testing pyopenssl if [[ $? -ne 0 ]]; then echo "FATAL: Installation failed!" From 9a543fb7d06834a15204b51fbfca6294b4a625e2 Mon Sep 17 00:00:00 2001 From: madhavi Date: Tue, 17 Oct 2017 12:11:09 +0530 Subject: [PATCH 036/105] add automation line to run cert.py in labspec.json --- scripts/labspec.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/scripts/labspec.json b/scripts/labspec.json index f2fc8ca..b5a6c45 100644 --- a/scripts/labspec.json +++ b/scripts/labspec.json @@ -98,7 +98,8 @@ "bash /var/www/deployment/setup.sh", "python /var/www/deployment/setup.py install", "bash /var/www/deployment/configure.sh", - "PYTHONPATH=/var/www python /var/www/deployment/db_setup.py" + "PYTHONPATH=/var/www python /var/www/deployment/db_setup.py", + "python /var/www/runtime/rest/cert.py" ], "lab_actions": { "init" : [], From 7a21840cc422f87f1c13d4e49ed425efca5d6c5b Mon Sep 17 00:00:00 2001 From: madhavi Date: Tue, 17 Oct 2017 12:29:17 +0530 Subject: [PATCH 037/105] change port number from 1307 to 5000 --- src/runtime/rest/app.org | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/runtime/rest/app.org b/src/runtime/rest/app.org index e7481dd..85cb83e 100755 --- a/src/runtime/rest/app.org +++ b/src/runtime/rest/app.org @@ -181,7 +181,7 @@ def configure_logging(app): #+NAME: run_server if __name__ == "__main__": app = create_app(config) - app.run(debug=True, host='localhost', port=1307, threaded=True, ssl_context = ('./ssl.crt', './ssl.key')) + app.run(debug=True, host='localhost', port=5000, threaded=True, ssl_context = ('./ssl.crt', './ssl.key')) #+END_SRC From d9c2386c0a62b7d567ddfde8eedd3e4ad0ea6f98 Mon Sep 17 00:00:00 2001 From: madhavi Date: Tue, 17 Oct 2017 15:26:59 +0530 Subject: [PATCH 038/105] add pyopenssl in setup.py --- src/deployment/index.org | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/deployment/index.org b/src/deployment/index.org index 69f3e5a..22b018a 100755 --- a/src/deployment/index.org +++ b/src/deployment/index.org @@ -24,7 +24,8 @@ requires = [ 'flask-cors', 'flask-testing', 'requests', - 'pyyaml' + 'pyyaml', + 'pyopenssl' ] setup( From e71f4d3c8e5d22d7af5a749ce2997f6e08297ce6 Mon Sep 17 00:00:00 2001 From: madhavi Date: Wed, 18 Oct 2017 09:53:32 +0530 Subject: [PATCH 039/105] update labspec.json with cert.py --- scripts/labspec.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/scripts/labspec.json b/scripts/labspec.json index b5a6c45..f55a7c0 100644 --- a/scripts/labspec.json +++ b/scripts/labspec.json @@ -98,8 +98,8 @@ "bash /var/www/deployment/setup.sh", "python /var/www/deployment/setup.py install", "bash /var/www/deployment/configure.sh", - "PYTHONPATH=/var/www python /var/www/deployment/db_setup.py", - "python /var/www/runtime/rest/cert.py" + "python /var/www/runtime/rest/cert.py", + "PYTHONPATH=/var/www python /var/www/deployment/db_setup.py" ], "lab_actions": { "init" : [], From dc59839d69c0b7f1defffc949423cc30f025d882 Mon Sep 17 00:00:00 2001 From: madhavi Date: Wed, 18 Oct 2017 10:55:10 +0530 Subject: [PATCH 040/105] updated dependency software packages --- src/deployment/index.org | 36 ++++++++++++++++++++++++++++++++++-- 1 file changed, 34 insertions(+), 2 deletions(-) diff --git a/src/deployment/index.org b/src/deployment/index.org index 22b018a..6e071cf 100755 --- a/src/deployment/index.org +++ b/src/deployment/index.org @@ -25,7 +25,39 @@ requires = [ 'flask-testing', 'requests', 'pyyaml', - 'pyopenssl' + 'Flask', + 'Flask-Login', + 'Flask-OAuth', + 'Flask-SQLAlchemy', + 'Flask-Testing', + 'Jinja2', + 'MarkupSafe', + 'SQLAlchemy', + 'Werkzeug', + 'argparse', + 'asn1crypto', + 'certifi', + 'cffi', + 'chardet', + 'click', + 'client', + 'cryptography', + 'enum34', + 'http', + 'httplib2', + 'idna', + 'ipaddress', + 'itsdangerous', + 'oauth2', + 'oauthlib', + 'pyOpenSSL', + 'pycparser', + 'requests', + 'requests-oauthlib', + 'six', + 'urllib3', + 'Flask-OAuthlib', + 'wsgiref' ] setup( @@ -430,7 +462,7 @@ tar xvf oursql-0.9.3.2.tar.gz cd oursql-0.9.3.2 python setup.py install -pip install Flask Flask-SQLAlchemy oursql requests flask-cors flask-testing pyopenssl +pip install Flask Flask-SQLAlchemy oursql requests flask-cors flask-testing if [[ $? -ne 0 ]]; then echo "FATAL: Installation failed!" From 9a25e3d85c9c1124c7754b1fcca9231547c80da3 Mon Sep 17 00:00:00 2001 From: madhavi Date: Tue, 24 Oct 2017 15:28:11 +0530 Subject: [PATCH 041/105] update deployment spec --- src/deployment/index.org | 36 ++---------------------------------- 1 file changed, 2 insertions(+), 34 deletions(-) diff --git a/src/deployment/index.org b/src/deployment/index.org index 6e071cf..e1dfd23 100755 --- a/src/deployment/index.org +++ b/src/deployment/index.org @@ -24,40 +24,8 @@ requires = [ 'flask-cors', 'flask-testing', 'requests', - 'pyyaml', - 'Flask', - 'Flask-Login', - 'Flask-OAuth', - 'Flask-SQLAlchemy', - 'Flask-Testing', - 'Jinja2', - 'MarkupSafe', - 'SQLAlchemy', - 'Werkzeug', - 'argparse', - 'asn1crypto', - 'certifi', - 'cffi', - 'chardet', - 'click', - 'client', - 'cryptography', - 'enum34', - 'http', - 'httplib2', - 'idna', - 'ipaddress', - 'itsdangerous', - 'oauth2', - 'oauthlib', - 'pyOpenSSL', - 'pycparser', - 'requests', - 'requests-oauthlib', - 'six', - 'urllib3', - 'Flask-OAuthlib', - 'wsgiref' + 'pyyaml' + ] setup( From 24ec2b829d4313afd021f2ef3977a93341baa740 Mon Sep 17 00:00:00 2001 From: madhavi Date: Tue, 24 Oct 2017 17:11:45 +0530 Subject: [PATCH 042/105] update labspec.json --- scripts/labspec.json | 1 - 1 file changed, 1 deletion(-) diff --git a/scripts/labspec.json b/scripts/labspec.json index f55a7c0..f2fc8ca 100644 --- a/scripts/labspec.json +++ b/scripts/labspec.json @@ -98,7 +98,6 @@ "bash /var/www/deployment/setup.sh", "python /var/www/deployment/setup.py install", "bash /var/www/deployment/configure.sh", - "python /var/www/runtime/rest/cert.py", "PYTHONPATH=/var/www python /var/www/deployment/db_setup.py" ], "lab_actions": { From a7b6ecb8662d05102b1e363b498f22a00607e7e3 Mon Sep 17 00:00:00 2001 From: obliviateandsurrender Date: Thu, 26 Oct 2017 20:57:03 +0530 Subject: [PATCH 043/105] Fixed LDS Rest Layer and System Testing --- scripts/backup.sh | 2 +- scripts/restore.sh | 13 +- src/data-model/index.org | 12 + src/deployment/index.org | 114 +- src/realization-plan/index.org | 59 + src/runtime/config/config.org | 2 +- src/runtime/objects/entities.org | 51 +- src/runtime/persistence/entities.org | 75 +- src/runtime/rest/api.org | 1174 +++++++++++++---- src/runtime/rest/app.org | 4 +- src/runtime/system/persistence-delegate.org | 715 +++++++--- src/runtime/system/system-interface.org | 316 +++-- .../system/system-with-persistence.org | 452 +++++-- src/runtime/system/system.org | 209 ++- 14 files changed, 2432 insertions(+), 766 deletions(-) mode change 100644 => 100755 scripts/backup.sh mode change 100644 => 100755 scripts/restore.sh create mode 100644 src/realization-plan/index.org diff --git a/scripts/backup.sh b/scripts/backup.sh old mode 100644 new mode 100755 index 0d075c5..1c956ac --- a/scripts/backup.sh +++ b/scripts/backup.sh @@ -4,7 +4,7 @@ DB_NAME="lds" DB_PASS="root" OUT_FILE_NAME="ldsbackup" -VERSION="v1.0.0" +VERSION="v2.1.0" OUT_FILE="$OUT_FILE_NAME-$VERSION.tar" diff --git a/scripts/restore.sh b/scripts/restore.sh old mode 100644 new mode 100755 index c64259a..67484cf --- a/scripts/restore.sh +++ b/scripts/restore.sh @@ -3,7 +3,7 @@ DB_NAME="lds" DB_PASS="xxx" VERSION="v1.0.0" - +MIGRATION_SCRIPT_PATH="../build/code/deployment" BACKUP_FILE=$1 usage() { @@ -43,4 +43,13 @@ echo "################" echo "Restore successful." echo "###############" -exit 0; +chmod +x $MIGRATION_SCRIPT_PATH"/migrate_phase.py" && python $MIGRATION_SCRIPT_PATH"/migrate_phase.py" +if [ $? -ne 0 ]; then + echo "Error: Something went wrong while restoring db dump." + echo "Aborting restore." + exit 1; +fi + +echo "################" +echo "Migration successful." +echo "###############" diff --git a/src/data-model/index.org b/src/data-model/index.org index 3fa953e..4b6f2db 100755 --- a/src/data-model/index.org +++ b/src/data-model/index.org @@ -176,6 +176,17 @@ TYPE HostingInfo TYPE Asset #+END_SRC +*** Phase +:PROPERTIES: +:CUSTOM_ID: entity_phase +:END: + Requirement satisfied: [[../requirements/index.org::#req1][Phase]] + +#+BEGIN_SRC spec :tangle spec.txt +;;; Entity Types +TYPE Name +#+END_SRC + *** IntegrationStatus :PROPERTIES: :CUSTOM_ID: entity_Integration_Status @@ -210,6 +221,7 @@ TYPE IntegrationStatus [hostinginfo, lab] : HostingInfo + > Lab ! [asset, lab] : Asset + > Lab ! [integrationstatus, lab] : IntegrationStatus ! > Lab * +[phase, lab] : Phase + > Lab + [discipline, experiment] : Discipline + > Experiment + [institute, experiment] : Institute ! > Experiment + diff --git a/src/deployment/index.org b/src/deployment/index.org index 2c981e5..e1dfd23 100755 --- a/src/deployment/index.org +++ b/src/deployment/index.org @@ -25,11 +25,12 @@ requires = [ 'flask-testing', 'requests', 'pyyaml' + ] setup( name='lds', - version='2.0', + version='2.0.0', install_requires=requires ) @@ -211,8 +212,48 @@ post_lab_spec(lab_file_list[0]) #+END_SRC * program to add 'asset_type' entity -#+BEGIN_SRC python :tangle migrate.py :eval no - +** Migration Steps +1) create database lds_old +2) restoring the dump +#+BEGIN_SRC +mysql -u root -p lds_old < lds.sql +#+END_SRC +3) create the schema +#+BEGIN_SRC +create table asset_type(id int(11) auto_increment, asset_type varchar(255) unique, primary key(id)); +select distinct asset_type from asset; +insert into asset_type (asset_type) values("image"); +insert into asset_type (asset_type) values("sources"); +insert into asset_type (asset_type) values("videos"); +rename table asset to assetold; +create table asset(id int(11) auto_increment, path varchar(255) unique, asset_type_id int, primary key(id), foreign key (asset_type_id) references asset_type(id)); +FOREIGN KEY (PersonID) REFERENCES Persons(PersonID) +alter table experiment drop column lb_id; +#+END_SRC +4) update config file with lds_old database +#+BEGIN_SRC +SQLALCHEMY_DATABASE_URI = 'mysql+oursql://root:root@localhost/lds_old' +#+END_SRC +5) run the app +#+BEGIN_SRC +cd build/code/runtime/rest +python app.py +#+END_SRC +6) run the migration script +#+BEGIN_SRC +cd build/code/deployment +python migration.py +#+END_SRC +7) drop table asset_old +#+BEGIN_SRC +drop table asset_old +#+END_SRC +8) backup the new mysql dump +#+BEGIN_SRC +mysqldump -u root -proot lds_old > lds.sql +#+END_SRC +** Migration Script +#+BEGIN_SRC python :tangle migrate_asset.py :eval no #!/usr/bin/python import MySQLdb import sys @@ -227,7 +268,7 @@ asset_url = "http://localhost:5000" KEY= "defaultkey" def populate_assets(): print "Populating assets table.." - cursor1.execute("select * from asset") + cursor1.execute("select * from assetold") data = cursor1.fetchall() for row in data: @@ -249,7 +290,6 @@ def populate_assets(): 'key': KEY} headers = {'Content-Type': 'application/json'} - print payload print asset_url+"/assets" response = requests.post(asset_url+"/assets", data=json.dumps(payload), @@ -262,7 +302,6 @@ def populate_assets(): 'key': KEY} headers = {'Content-Type': 'application/json'} - print payload print asset_url+"/assets" response = requests.post(asset_url+"/assets", data=json.dumps(payload), @@ -272,46 +311,50 @@ def populate_assets(): else: continue -def populate_institute(): - print "Populating institute table.." - cursor1.execute("select * from institute") - data = cursor1.fetchall() - for row in data: - print "inserting........" - cursor2.execute("insert into institute (institute_name, institute_id)" - "values('%s','%s')" %(row[1], row[2])); - print "done" - cursor2.execute("select * from institute") - data2 = cursor2.fetchall() - for row in data2: - print row - if __name__ == "__main__": connection1 = MySQLdb.connect(host="localhost", user="root", passwd="root", db="lds_old") cursor1 = connection1.cursor() - connection2 = MySQLdb.connect(host="localhost", user="root", - passwd="root", db="lds") - cursor2 = connection2.cursor() db.create_all(app=create_app(config)) populate_assets() - populate_institute() cursor1.close() connection1.close() - cursor2.close() - connection2.close() #+END_SRC -#+BEGIN_EXAMPLE -drop table asset_type -create table asset_type(id int(11) auto_increment, asset_type varchar(255) unique, primary key(id)); -select distinct asset_type from asset; -insert into asset_type (asset_type) values("image"); -insert into asset_type (asset_type) values("sources"); -insert into asset_type (asset_type) values("videos"); -#+END_EXAMPLE +* program to add 'phase' entity +** Manual Steps +#+BEGIN_SRC +create table phase(id int(11) auto_increment, phase_id int(11) unique, primary key(id)); +create table labs_phase(labid int(11), foreign key (labid) references lab(id), phase_id int(11), foreign key(phase_id) references phase(id)); +#+END_SRC +** Migration Script +#+BEGIN_SRC python :tangle migrate_phase.py :eval no +#!/usr/bin/python +import MySQLdb +import sys + +def populate_phase_table(): + print "Populating phase table.." + cursor1.execute("create table phase(id int(11) auto_increment, phase_id int(11) unique, primary key(id));") + data = cursor1.fetchall() + cursor1.execute("create table labs_phase(labid int(11), foreign key (labid) references lab(id), phase_id int(11), foreign key(phase_id) references phase(id));") + data = cursor1.fetchall() + print "Done.." + +if __name__ == "__main__": + connection1 = MySQLdb.connect(host="localhost", + user="root", + passwd="root", + db="lds") + cursor1 = connection1.cursor() + + populate_phase_table() + cursor1.close() + connection1.close() + +#+END_SRC * Install all dependencies and setup the software Install all dependencies, including the OS related packages, Python packages, setup the database, configure the webserver, and finally deploy the @@ -361,7 +404,8 @@ fi # Install pre-requsite dependencies: python-dev, mysqld-dev, setuptools, # apache, mod_wsgi etc. echo "Installing pre-requisite dependencies.." -apt-get install -y python-dev libmysqld-dev python-setuptools apache2 libapache2-mod-wsgi +apt-get install -y python-dev libmysqld-dev python-setuptools apache2 libapache2-mod-wsgi python-mysqldb + if [[ $? -ne 0 ]]; then echo "FATAL: Installing pre-requisite dependencies failed!" exit 1; diff --git a/src/realization-plan/index.org b/src/realization-plan/index.org new file mode 100644 index 0000000..8c4b121 --- /dev/null +++ b/src/realization-plan/index.org @@ -0,0 +1,59 @@ +#+TITLE: Plan for Lab Data Service +#+AUTHOR: VLEAD +#+DATE: [2017-10-11 Wed] +#+PROPERTY: results output +#+PROPERTY: exports code +#+SETUPFILE: ../org-templates/level-1.org +#+options: ^:nil +#+LATEX: Literal LaTeX code for export + +* Introduction + - This document contains the realization plan for + implementing the Lab Data Service. + +* Plan +** [[https://github.com/vlead/lab-data-service/milestone/8][Milestone one]] + :PROPERTIES: + :CUSTOM_ID: plan-for-milestone-one + :END: + + This milestone includes the following features: +1) Updating LDS with 178 Labs data +2) Features/Enhancements: + a) Add 'Phase' table to the current Schema. + b) Implementation of 'Migration' Script. + c) Implementation of 'Backup' and 'Restore' Scripts. + +#+caption: realization-plan +#+name: tbl-realization-plan +|-------+--------------------------+--------+-----------+--------+------------+------------+--------+-----------| +| S. | Tasks | Github | Expected | Actual | Estimated | Actual | Status | Assignee | +| NO | | Issues | Effort | Effort | Start, | Start/ | | | +| | | | (in | (in | End | End | | | +| | | | person | person | Dates | Dates | | | +| | | | hours) | hours) | | | | | +|-------+--------------------------+--------+-----------+--------+------------+------------+--------+-----------| +| 1. | Some labs are not | [[https://github.com/vlead/lab-data-service/issues/92][#92]] | 60 | 48 | 09-09-2017 | 09-09-2017 | Done | Sanchita | +| | captured in lds database | | | | 13-09-2017 | 13-09-2017 | | Mrudhvika | +|-------+--------------------------+--------+-----------+--------+------------+------------+--------+-----------| +| 2. | create a new table | [[https://github.com/vlead/lab-data-service/issues/91][#91]] | 60 | 24 | 02-10-2017 | 03-10-2017 | Done | Madhavi | +| | 'Phase' in the database | | | | 06-10-2017 | 06-10-2017 | | | +|-------+--------------------------+--------+-----------+--------+------------+------------+--------+-----------| +| 3. | Implementation of | [[https://github.com/vlead/lab-data-service/issues/95][#95]] | 8 | 6 | 09-10-2017 | 09-10-2017 | Done | Madhavi | +| | Migration Script | | | | 09-10-2017 | 09-10-2017 | | | +|-------+--------------------------+--------+-----------+--------+------------+------------+--------+-----------| +| 4. | Implementation of | [[https://github.com/vlead/lab-data-service/issues/96][#96]] | 8 | 6 | 10-10-2017 | 10-10-2017 | Done | Madhavi | +| | 'Restore' and | | | | 10-10-2017 | 10-10-2017 | | | +| | 'Backup' Scripts | | | | | | | | +|-------+--------------------------+--------+-----------+--------+------------+------------+--------+-----------| +| 5. | Deployment of | [[https://github.com/vlead/lab-data-service/issues/97][#97]] | 16 | 12 | 11-10-2017 | 11-10-2017 | Done | Madhavi | +| | 'lab-data-service' | | | | 12-10-2017 | 12-10-2017 | | | +| | on Testing and | | | | | | | | +| | Staging Environments | | | | | | | | +|-------+--------------------------+--------+-----------+--------+------------+------------+--------+-----------| +| Total | | | 153 | 96 | | | | | +| ^ | | | estimated | actual | | | | | +|-------+--------------------------+--------+-----------+--------+------------+------------+--------+-----------| +#+TBLFM: $estimated=vsum(@II+1..@-1) +#+TBLFM: $actual=vsum(@II+1..@-1) + diff --git a/src/runtime/config/config.org b/src/runtime/config/config.org index aef47ab..c2baec1 100755 --- a/src/runtime/config/config.org +++ b/src/runtime/config/config.org @@ -19,7 +19,7 @@ This holds the application's configuration parameters. # example DB URI: # mysql+oursql://scott:tiger@localhost/mydatabase # postgresql+psycopg2://scott:tiger@localhost/mydatabase -SQLALCHEMY_DATABASE_URI = 'mysql+oursql://:@/' +SQLALCHEMY_DATABASE_URI = 'mysql+oursql://root:root@localhost/lds>' # example # SQLALCHEMY_DATABASE_URI = 'mysql+oursql://root:root@localhost/lds' diff --git a/src/runtime/objects/entities.org b/src/runtime/objects/entities.org index d6a0ab5..d2005a2 100755 --- a/src/runtime/objects/entities.org +++ b/src/runtime/objects/entities.org @@ -40,6 +40,7 @@ Discipline = ClassTemplate.mk_class("Discipline") Session = ClassTemplate.mk_class("Session") Section = ClassTemplate.mk_class("Section") Name = ClassTemplate.mk_class("Name") +Phase = ClassTemplate.mk_class("Phase") Email = ClassTemplate.mk_class("Email") Developer = ClassTemplate.mk_class("Developer") Institute = ClassTemplate.mk_class("Institute") @@ -102,6 +103,20 @@ def are_sections(sections): return ret_val +is_phase = is_inst(Phase) +check_phase = check_pred(is_phase) + +def are_phase(phase): + ret_val = True + if is_list(phase): + for phase_x in phase: + if not is_phase(phase_x): + ret_val = False + else: + ret_val = False + + return ret_val + is_developer = is_inst(Developer) check_dev = check_pred(is_developer) @@ -229,6 +244,7 @@ Lab.add_attributes(lab_name=is_str, overview=is_str, institute=is_institute, discipline=is_discipline, + phase=are_phase, assets=are_assets, integration_status=is_integration_status, experiments=are_experiments, @@ -242,6 +258,7 @@ Lab.__eq__ = lambda self, other: \ self.get("lab_id") == other.get("lab_id") and \ self.get("overview") == other.get("overview") and \ self.get("institute") == other.get("institute") and \ + self.get("phase") == other.get("phase") and \ self.get("discipline") == other.get("discipline") and \ self.get("assets") == other.get("assets") and \ self.get("sections") == other.get("sections") and \ @@ -286,6 +303,8 @@ class TestLab(TestCase): email_id = Email(email="mohit.tahiliani@gmail.com") dev = Developer(name=dev_name, email=email_id) + phase1=Phase(phase_id=1) + hosting_status = "hosted" hosted_url = "http://cse14-iiith.vlabs.ac.in" hosted_on = "cloud" @@ -306,7 +325,7 @@ class TestLab(TestCase): lab = Lab(lab_name=lab_name, lab_id=lab_id, overview=overview, institute=inst, discipline=discipline, assets=[asset], integration_status=integration_status, developers=[dev], - hosting_info=[host], sections=[], + hosting_info=[host], sections=[], phase=[phase1], experiments=[experiment]) self.assertEqual(lab.get("lab_name"), lab_name) @@ -530,6 +549,34 @@ class TestSession(TestCase): +* Phase + =Phase= is an entity that has a field =phase_id= which is integer +#+NAME: class_Phase +#+begin_src python + +Phase.add_attributes(phase_id=is_int) + +Phase.__eq__ = lambda self, other: \ + isinstance(other, self.__class__) and \ + self.get("phase_id") == other.get("phase_id") +#+end_src + +*** Test Phase +#+NAME: class_TestPhase +#+BEGIN_SRC python +class TestPhase(TestCase): + TESTING = True + + def test_object_phase(self): + print "test_object_phase" + phase1=Phase(phase_id=1) + self.assertEqual(is_phase(Phase(phase_id=1)), True) + self.assertEqual(phase1.get("phase_id"), 1) + self.assertRaises(TypeError, Phase, phase="Jimi 123 Hendrix") + +#+END_SRC + + * Name =Name= is an entity that has a field =name= which is string #+NAME: class_Name @@ -862,6 +909,7 @@ if __name__ == '__main__': <> <> <> +<> #+end_src @@ -870,6 +918,7 @@ if __name__ == '__main__': <> <> <> +<> <> <> <> diff --git a/src/runtime/persistence/entities.org b/src/runtime/persistence/entities.org index 2e724fb..56fad95 100755 --- a/src/runtime/persistence/entities.org +++ b/src/runtime/persistence/entities.org @@ -34,6 +34,12 @@ lab_developers = db.Table('lab_developers', db.Column('developer_id', db.Integer, db.ForeignKey('developer.id'))) +labs_phase = db.Table('labs_phase', + db.Column('labid', db.Integer, + db.ForeignKey('lab.id')), + db.Column('phase_id', db.Integer, + db.ForeignKey('phase.id'))) + lab_hosting_info = db.Table('lab_hosting_info', db.Column('labid', db.Integer, db.ForeignKey('lab.id')), @@ -75,6 +81,11 @@ args = {"__tablename__": "lab", "developers": db.relationship('Developer', secondary=lab_developers, backref='labs'), + + "phase": db.relationship('Phase', + secondary=labs_phase, + backref='labs'), + "hosting_info": db.relationship('HostingInfo', secondary=lab_hosting_info, backref='labs'), @@ -152,6 +163,9 @@ class TestPersistentLab(TestCase): hosted_url=hosted_url, hosted_on=hosted_on) host.save() + phase1=Phase(phase_id=1) + phase1.save() + exp_name = "Number Systems" exp_id = "EE99777" overview = "This is linked list experiment" @@ -174,7 +188,7 @@ class TestPersistentLab(TestCase): lab1 = Lab(lab_name=lab_name1, lab_id=lab_id1, overview=overview1, experiments=[experiment], institute=inst, integration_status=intstatus, sections=[section], - assets=[asset], discipline=discipline, + assets=[asset], discipline=discipline, phase=[phase1], developers=[dev], hosting_info=[host]) lab1.save() @@ -186,7 +200,7 @@ class TestPersistentLab(TestCase): lab2 = Lab(lab_name=lab_name2, lab_id=lab_id2, overview=overview2, experiments=[], institute=inst, discipline=discipline, developers=[], hosting_info=[host], assets=[asset], - sections=[section], + sections=[section], phase=[phase1], integration_status=intstatus) lab2.save() @@ -214,6 +228,9 @@ class TestPersistentLab(TestCase): self.assertEqual(lab1.get("developers")[0].get("email").get("email"), email_id.get("email")) + self.assertEqual(lab1.get("phase")[0].get("phase_id"), + phase1.get("phase_id")) + self.assertEqual(lab1.get("hosting_info")[0].get("hosting_status"), host.get("hosting_status")) @@ -228,6 +245,9 @@ class TestPersistentLab(TestCase): host.get("hosting_status")) self.assertEqual(lab2.get("experiments"), []) + self.assertEqual(lab2.get("phase")[0].get("phase_id"), + phase1.get("phase_id")) + self.assertEqual(lab2.get("assets")[0].get("asset_type"), asset.get("asset_type")) self.assertEqual(lab2.get("integration_status").\ @@ -285,9 +305,9 @@ args = {"__tablename__": "experiment", "assets": db.relationship('Asset', secondary=experiments_assets, backref='experiments'), - "lb_id": db.Column(db.Integer, - db.ForeignKey('lab.id'), - unique=False), +# "lb_id": db.Column(db.Integer, +# db.ForeignKey('lab.id'), +# unique=False), "sections": db.relationship('Section', secondary=experiments_sections, @@ -756,6 +776,49 @@ class TestPersistentDeveloper(TestCase): #+END_SRC +* Phase +=Phase= is a class with an attribute =phase_id= of type integer. + +#+NAME: class_Phase +#+begin_src python +args = {"__tablename__": "phase", + "id": db.Column(db.Integer, primary_key=True), + "phase_id": db.Column(db.Integer, unique=True) + } + +Phase = ClassPersistenceTemplate.mk_persistent(Phase, [], **args) +#+end_src + +*** Test Phase +#+NAME: class_TestPhase +#+BEGIN_SRC python +class TestPersistentPhase(TestCase): + TESTING = True + + def create_app(self): + app = create_app(config) + return app + + def setUp(self): + db.create_all() + + def tearDown(self): + db.session.remove() + db.drop_all() + + def test_create_phase(self): + print "test_persistent_phase" + + phase = Phase(phase_id=1) + phase.save() + + phase1 = Phase.get_by_id(1) + + self.assertEqual(phase1.get("phase_id"), phase.get("phase_id")) + +#+END_SRC + + * HostingInfo =HostingInfo= is a class with attributes =hosting_status= and =hosted_url=. @@ -1026,6 +1089,7 @@ if __name__ == '__main__': <> <> <> +<> <> #+end_src @@ -1045,6 +1109,7 @@ if __name__ == '__main__': <> <> <> +<> <> <> #+end_src diff --git a/src/runtime/rest/api.org b/src/runtime/rest/api.org index 70d7f6e..3472b2f 100755 --- a/src/runtime/rest/api.org +++ b/src/runtime/rest/api.org @@ -11,8 +11,9 @@ :CUSTOM_ID: introduction :END: This document illustrates building of the REST API. - + + * REST ** Pagination support for Get Request *** Function Design @@ -21,7 +22,7 @@ - This is supposed to check for size conditions and generate a previous data and next available data link too. *** Function Definition - #+NAME: test_get_names + #+NAME: pagination #+BEGIN_SRC python def pagination(klass, url, start, limit): data = {} @@ -57,7 +58,6 @@ def pagination(klass, url, start, limit): ** Get Labs, Get Lab, Get Labs by institute, lab_name, discipline and asset and Get labs by passing lab_name as keyword *** API Designs - **** Get all labs :PROPERTIES: :CUSTOM_ID: api_get_all_labs @@ -1044,7 +1044,6 @@ http://localhost:5000/labs?keyword_lab_name=data #+BEGIN_SRC python @api.route('/labs', methods=['GET']) def get_lab(): - if request.method == 'GET': if 'lab_id' in request.args: lab_id = request.args['lab_id'] @@ -1130,7 +1129,6 @@ def get_lab(): current_app.logger.debug("running operation get_labs_by_institute") labs = SystemInterface.get_labs_by_institute(institute_name) current_app.logger.debug("completed operation get_labs_by_institute") - return pagination( labs, '/labs?institute_name='+institute_name+'&', @@ -1222,6 +1220,7 @@ def get_lab(): limit=int(request.args.get('pageSize', 25)) ) + except TypeError as e: current_app.logger.error("Exception = %s" % str(e)) err_str = str(e) @@ -1297,10 +1296,9 @@ def get_lab(): else: try: - current_app.logger.debug("running operation get_labs") + current_app.logger.debug("running operation get_labs") labs = SystemInterface.get_labs() current_app.logger.debug("completed operation get_labs") - return pagination( labs, '/labs?', @@ -1496,6 +1494,7 @@ class TestGetLab(TestCase): "overview": "overview", "discipline_id": "CSE", "institute_id": "IITK", + "phase":[{"phase_id":1, "phase_id":2}], "developers": [ { "name": "Dinesh Malviya", @@ -1705,6 +1704,7 @@ class TestGetLabbyLabId(TestCase): "overview": "overview", "discipline_id": "CSE", "institute_id": "IITK", + "phase":[{"phase_id":1, "phase_id":2}], "developers": [ { "name": "Dinesh Malviya", @@ -1911,6 +1911,7 @@ class TestGetLabsbyInstitute(TestCase): "overview": "overview", "discipline_id": "CSE", "institute_id": "IITK", + "phase":[{"phase_id":1, "phase_id":2}], "developers": [ { "name": "Dinesh Malviya", @@ -2119,6 +2120,7 @@ class TestGetLabsbyDiscipline(TestCase): "overview": "overview", "discipline_id": "CSE", "institute_id": "IITK", + "phase":[{"phase_id":1, "phase_id":2}], "developers": [ { "name": "Dinesh Malviya", @@ -2335,6 +2337,7 @@ class TestGetLabsbyLabName(TestCase): "overview": "overview", "discipline_id": "CSE", "institute_id": "IITK", + "phase":[{"phase_id":1, "phase_id":2}], "developers": [ { "name": "Prof. Dharamaja", @@ -2545,6 +2548,7 @@ class TestGetLabsbyAsset(TestCase): "overview": "overview", "discipline_id": "CSE", "institute_id": "IITK", + "phase":[{"phase_id":1, "phase_id":2}], "developers": [ { "name": "Dinesh Malviya", @@ -2743,6 +2747,7 @@ class TestGetLabbyLabNameKeyWord(TestCase): "overview": "overview", "discipline_id": "CSE", "institute_id": "IITK", + "phase":[{"phase_id":1, "phase_id":2}], "developers": [ { "name": "Prof. Dharamaja", @@ -2787,7 +2792,7 @@ class TestGetLabbyLabNameKeyWord(TestCase): #+END_SRC -** Add Lab +** Add Lab *** API Designs **** Add Lab :PROPERTIES: @@ -2809,6 +2814,7 @@ class TestGetLabbyLabNameKeyWord(TestCase): "overview": "overview", "discipline_id": "CSE", "institute_id": "IITK", + "phase":[{"phase_id":1, "phase_id":2}], "developers": [ { "name": "Dinesh Malviya", @@ -2923,6 +2929,7 @@ class TestGetLabbyLabNameKeyWord(TestCase): "institute_id": "iitk", "institute_name": "IIT Kanpur" }, + "phase":[{"phase_id":1, "phase_id":2}], "integration_status": { "id": "5", "integration_level": 4 @@ -3168,7 +3175,9 @@ class TestAddLab(TestCase): "name": "Computer Programming", "overview": "overview", "discipline_id": "CSE", + "phase":[{"phase_id":1, "phase_id":2}], "institute_id": "IITK", + "phase":[{"phase_id":1, "phase_id":2}], "developers": [ { "name": "Dinesh Malviya", @@ -3226,13 +3235,13 @@ class TestAddLab(TestCase): #+END_SRC -** Update Lab +** Update Lab *** API Design **** Update lab by labid :PROPERTIES: :CUSTOM_ID: api_update_lab_by_labid :END: - - URL :: /labs/ + - URL :: /labs?lab_id= - Method :: PUT @@ -3240,45 +3249,18 @@ class TestAddLab(TestCase): - Payload :: #+BEGIN_EXAMPLE -{ - "key" : , - "lab": { - "name": "Computer Programming", - "overview": "cp overview", - "discipline_id": "ECE", - "institute_id": "IITKgp", - "developers": [ - { - "name": "Prof. Pallavi Pawar", - "email": "pallavi.pawar@gmail.com" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "server", - "hosted_url": "http://iitk.vlab.co.in/" - } - ], - "integration_level": 3, - "assets": [ - { - "asset_type": "image", - "path": "vlabs.ac.in/images/video/icon.png" - } - ], - "sections": [ - { - "name": "Theory" - } - - ], - "experiments": [ - - ] +{ +"lab":{ + "assets": [ + { + "asset_type": "image", + "path": "iiit-h-cse02.jpg" + } + ] +}, - } - } + "key": "defaultkey" +} #+END_EXAMPLE - Success Response @@ -3288,54 +3270,780 @@ class TestAddLab(TestCase): { "assets": [ { - "asset_type": "image", - "id": "3", - "path": "vlabs.ac.in/images/video/icon.png" + "asset_type": { + "asset_type": "image", + "id": "1" + }, + "id": "165", + "path": "iiit-h-cse02.jpg" } ], - "developers": [ + "developers": [], + "discipline": { + "assets": [ + { + "asset_type": { + "asset_type": "image", + "id": "1" + }, + "id": "150", + "path": "computer-science-and-engineering.png" + } + ], + "discipline_id": "cse", + "discipline_name": "Computer Science and Engineering", + "id": "6" + }, + "experiments": [ { - "email": { - "email": "pallavi.pawar@gmail.com", - "id": "3" + "assets": [ + { + "asset_type": { + "asset_type": "image", + "id": "1" + }, + "id": "84", + "path": "../../static/IIITH-Computer-Programming.jpg" + } + ], + "developers": [], + "discipline": { + "assets": [ + "Not Printing" + ], + "discipline_id": "cse", + "discipline_name": "Computer Science and Engineering", + "id": "6" }, - "id": "3", - "name": { - "id": "3", - "name": "Prof. Pallavi Pawar" - } + "exp_id": "e99800", + "exp_name": "Numerical Approximation", + "hosting_info": [ + { + "hosted_on": "cloud", + "hosted_url": "http://cse02-iiith.vlabs.ac.in/", + "hosting_status": "hosted", + "id": "442" + } + ], + "id": "1198", + "institute": { + "assets": [ + "Not Printing" + ], + "id": "7", + "institute_id": "iiith", + "institute_name": "IIIT Hyderabad" + }, + "integration_status": { + "id": "1", + "integration_level": 0 + }, + "overview": "This experiments deals with Numerical Approximation", + "sections": [ + { + "id": "10", + "name": "Introduction" + }, + { + "id": "3", + "name": "Theory" + }, + { + "id": "171", + "name": "Objective" + }, + { + "id": "191", + "name": "Manual" + }, + { + "id": "4", + "name": "Procedure" + }, + { + "id": "303", + "name": "Further Reading" + } + ] + }, + { + "assets": [ + { + "asset_type": { + "asset_type": "image", + "id": "1" + }, + "id": "84", + "path": "../../static/IIITH-Computer-Programming.jpg" + } + ], + "developers": [], + "discipline": { + "assets": [ + "Not Printing" + ], + "discipline_id": "cse", + "discipline_name": "Computer Science and Engineering", + "id": "6" + }, + "exp_id": "e99799", + "exp_name": "Functions", + "hosting_info": [ + { + "hosted_on": "cloud", + "hosted_url": "http://cse02-iiith.vlabs.ac.in/", + "hosting_status": "hosted", + "id": "442" + } + ], + "id": "1201", + "institute": { + "assets": [ + "Not Printing" + ], + "id": "7", + "institute_id": "iiith", + "institute_name": "IIIT Hyderabad" + }, + "integration_status": { + "id": "1", + "integration_level": 0 + }, + "overview": "This experiments deals with Functions", + "sections": [ + { + "id": "10", + "name": "Introduction" + }, + { + "id": "3", + "name": "Theory" + }, + { + "id": "171", + "name": "Objective" + }, + { + "id": "191", + "name": "Manual" + }, + { + "id": "4", + "name": "Procedure" + }, + { + "id": "303", + "name": "Further Reading" + } + ] + }, + { + "assets": [ + { + "asset_type": { + "asset_type": "image", + "id": "1" + }, + "id": "84", + "path": "../../static/IIITH-Computer-Programming.jpg" + } + ], + "developers": [], + "discipline": { + "assets": [ + "Not Printing" + ], + "discipline_id": "cse", + "discipline_name": "Computer Science and Engineering", + "id": "6" + }, + "exp_id": "e99798", + "exp_name": "Advanced Control Flow", + "hosting_info": [ + { + "hosted_on": "cloud", + "hosted_url": "http://cse02-iiith.vlabs.ac.in/", + "hosting_status": "hosted", + "id": "442" + } + ], + "id": "1202", + "institute": { + "assets": [ + "Not Printing" + ], + "id": "7", + "institute_id": "iiith", + "institute_name": "IIIT Hyderabad" + }, + "integration_status": { + "id": "1", + "integration_level": 0 + }, + "overview": "This experiments deals with Advanced Control Flow", + "sections": [ + { + "id": "10", + "name": "Introduction" + }, + { + "id": "3", + "name": "Theory" + }, + { + "id": "171", + "name": "Objective" + }, + { + "id": "191", + "name": "Manual" + }, + { + "id": "4", + "name": "Procedure" + }, + { + "id": "303", + "name": "Further Reading" + } + ] + }, + { + "assets": [ + { + "asset_type": { + "asset_type": "image", + "id": "1" + }, + "id": "84", + "path": "../../static/IIITH-Computer-Programming.jpg" + } + ], + "developers": [], + "discipline": { + "assets": [ + "Not Printing" + ], + "discipline_id": "cse", + "discipline_name": "Computer Science and Engineering", + "id": "6" + }, + "exp_id": "e99797", + "exp_name": "Arrays", + "hosting_info": [ + { + "hosted_on": "cloud", + "hosted_url": "http://cse02-iiith.vlabs.ac.in/", + "hosting_status": "hosted", + "id": "442" + } + ], + "id": "1204", + "institute": { + "assets": [ + "Not Printing" + ], + "id": "7", + "institute_id": "iiith", + "institute_name": "IIIT Hyderabad" + }, + "integration_status": { + "id": "1", + "integration_level": 0 + }, + "overview": "This experiments deals with Arrays", + "sections": [ + { + "id": "10", + "name": "Introduction" + }, + { + "id": "3", + "name": "Theory" + }, + { + "id": "171", + "name": "Objective" + }, + { + "id": "191", + "name": "Manual" + }, + { + "id": "4", + "name": "Procedure" + }, + { + "id": "303", + "name": "Further Reading" + } + ] + }, + { + "assets": [ + { + "asset_type": { + "asset_type": "image", + "id": "1" + }, + "id": "84", + "path": "../../static/IIITH-Computer-Programming.jpg" + } + ], + "developers": [], + "discipline": { + "assets": [ + "Not Printing" + ], + "discipline_id": "cse", + "discipline_name": "Computer Science and Engineering", + "id": "6" + }, + "exp_id": "e99796", + "exp_name": "Structures", + "hosting_info": [ + { + "hosted_on": "cloud", + "hosted_url": "http://cse02-iiith.vlabs.ac.in/", + "hosting_status": "hosted", + "id": "442" + } + ], + "id": "1197", + "institute": { + "assets": [ + "Not Printing" + ], + "id": "7", + "institute_id": "iiith", + "institute_name": "IIIT Hyderabad" + }, + "integration_status": { + "id": "1", + "integration_level": 0 + }, + "overview": "This experiments deals with Structures", + "sections": [ + { + "id": "10", + "name": "Introduction" + }, + { + "id": "3", + "name": "Theory" + }, + { + "id": "171", + "name": "Objective" + }, + { + "id": "191", + "name": "Manual" + }, + { + "id": "4", + "name": "Procedure" + }, + { + "id": "303", + "name": "Further Reading" + } + ] + }, + { + "assets": [ + { + "asset_type": { + "asset_type": "image", + "id": "1" + }, + "id": "84", + "path": "../../static/IIITH-Computer-Programming.jpg" + } + ], + "developers": [], + "discipline": { + "assets": [ + "Not Printing" + ], + "discipline_id": "cse", + "discipline_name": "Computer Science and Engineering", + "id": "6" + }, + "exp_id": "e99795", + "exp_name": "Basic Control Flow", + "hosting_info": [ + { + "hosted_on": "cloud", + "hosted_url": "http://cse02-iiith.vlabs.ac.in/", + "hosting_status": "hosted", + "id": "442" + } + ], + "id": "1199", + "institute": { + "assets": [ + "Not Printing" + ], + "id": "7", + "institute_id": "iiith", + "institute_name": "IIIT Hyderabad" + }, + "integration_status": { + "id": "1", + "integration_level": 0 + }, + "overview": "This experiments deals with Basic Control Flow", + "sections": [ + { + "id": "10", + "name": "Introduction" + }, + { + "id": "3", + "name": "Theory" + }, + { + "id": "171", + "name": "Objective" + }, + { + "id": "191", + "name": "Manual" + }, + { + "id": "4", + "name": "Procedure" + }, + { + "id": "303", + "name": "Further Reading" + } + ] + }, + { + "assets": [ + { + "asset_type": { + "asset_type": "image", + "id": "1" + }, + "id": "84", + "path": "../../static/IIITH-Computer-Programming.jpg" + } + ], + "developers": [], + "discipline": { + "assets": [ + "Not Printing" + ], + "discipline_id": "cse", + "discipline_name": "Computer Science and Engineering", + "id": "6" + }, + "exp_id": "e99794", + "exp_name": "Strings", + "hosting_info": [ + { + "hosted_on": "cloud", + "hosted_url": "http://cse02-iiith.vlabs.ac.in/", + "hosting_status": "hosted", + "id": "442" + } + ], + "id": "1203", + "institute": { + "assets": [ + "Not Printing" + ], + "id": "7", + "institute_id": "iiith", + "institute_name": "IIIT Hyderabad" + }, + "integration_status": { + "id": "1", + "integration_level": 0 + }, + "overview": "This experiments deals with Strings", + "sections": [ + { + "id": "10", + "name": "Introduction" + }, + { + "id": "3", + "name": "Theory" + }, + { + "id": "171", + "name": "Objective" + }, + { + "id": "191", + "name": "Manual" + }, + { + "id": "4", + "name": "Procedure" + }, + { + "id": "303", + "name": "Further Reading" + } + ] + }, + { + "assets": [ + { + "asset_type": { + "asset_type": "image", + "id": "1" + }, + "id": "84", + "path": "../../static/IIITH-Computer-Programming.jpg" + } + ], + "developers": [], + "discipline": { + "assets": [ + "Not Printing" + ], + "discipline_id": "cse", + "discipline_name": "Computer Science and Engineering", + "id": "6" + }, + "exp_id": "e99793", + "exp_name": "Pointers", + "hosting_info": [ + { + "hosted_on": "cloud", + "hosted_url": "http://cse02-iiith.vlabs.ac.in/", + "hosting_status": "hosted", + "id": "442" + } + ], + "id": "1196", + "institute": { + "assets": [ + "Not Printing" + ], + "id": "7", + "institute_id": "iiith", + "institute_name": "IIIT Hyderabad" + }, + "integration_status": { + "id": "1", + "integration_level": 0 + }, + "overview": "This experiments deals with Pointers", + "sections": [ + { + "id": "10", + "name": "Introduction" + }, + { + "id": "3", + "name": "Theory" + }, + { + "id": "171", + "name": "Objective" + }, + { + "id": "191", + "name": "Manual" + }, + { + "id": "4", + "name": "Procedure" + }, + { + "id": "303", + "name": "Further Reading" + } + ] + }, + { + "assets": [ + { + "asset_type": { + "asset_type": "image", + "id": "1" + }, + "id": "84", + "path": "../../static/IIITH-Computer-Programming.jpg" + } + ], + "developers": [], + "discipline": { + "assets": [ + "Not Printing" + ], + "discipline_id": "cse", + "discipline_name": "Computer Science and Engineering", + "id": "6" + }, + "exp_id": "e99792", + "exp_name": "Recursion", + "hosting_info": [ + { + "hosted_on": "cloud", + "hosted_url": "http://cse02-iiith.vlabs.ac.in/", + "hosting_status": "hosted", + "id": "442" + } + ], + "id": "1200", + "institute": { + "assets": [ + "Not Printing" + ], + "id": "7", + "institute_id": "iiith", + "institute_name": "IIIT Hyderabad" + }, + "integration_status": { + "id": "1", + "integration_level": 0 + }, + "overview": "This experiments deals with Recursion", + "sections": [ + { + "id": "10", + "name": "Introduction" + }, + { + "id": "3", + "name": "Theory" + }, + { + "id": "171", + "name": "Objective" + }, + { + "id": "191", + "name": "Manual" + }, + { + "id": "4", + "name": "Procedure" + }, + { + "id": "303", + "name": "Further Reading" + } + ] + }, + { + "assets": [ + { + "asset_type": { + "asset_type": "image", + "id": "1" + }, + "id": "84", + "path": "../../static/IIITH-Computer-Programming.jpg" + } + ], + "developers": [], + "discipline": { + "assets": [ + "Not Printing" + ], + "discipline_id": "cse", + "discipline_name": "Computer Science and Engineering", + "id": "6" + }, + "exp_id": "e99791", + "exp_name": "Expression Evaluation", + "hosting_info": [ + { + "hosted_on": "cloud", + "hosted_url": "http://cse02-iiith.vlabs.ac.in/", + "hosting_status": "hosted", + "id": "442" + } + ], + "id": "1205", + "institute": { + "assets": [ + "Not Printing" + ], + "id": "7", + "institute_id": "iiith", + "institute_name": "IIIT Hyderabad" + }, + "integration_status": { + "id": "1", + "integration_level": 0 + }, + "overview": "This experiments deals with Expression Evaluation", + "sections": [ + { + "id": "10", + "name": "Introduction" + }, + { + "id": "3", + "name": "Theory" + }, + { + "id": "171", + "name": "Objective" + }, + { + "id": "191", + "name": "Manual" + }, + { + "id": "4", + "name": "Procedure" + }, + { + "id": "303", + "name": "Further Reading" + } + ] } ], - "discipline": { - "assets": [], - "discipline_id": "ece", - "discipline_name": "Electronics and Communication", - "id": "8" - }, - "experiments": [], "hosting_info": [ { - "hosted_on": "server", - "hosted_url": "http://iitk.vlab.co.in/", + "hosted_on": "cloud", + "hosted_url": "http://cse02-iiith.vlabs.ac.in/", "hosting_status": "hosted", - "id": "4" + "id": "442" } ], - "id": "1", + "id": "76", "institute": { - "assets": [], - "id": "9", - "institute_id": "iitkgp", - "institute_name": "IIT Kharagpur" + "assets": [ + { + "asset_type": { + "asset_type": "image", + "id": "1" + }, + "id": "156", + "path": "iiit-hyderabad.png" + } + ], + "id": "7", + "institute_id": "iiith", + "institute_name": "IIIT Hyderabad" }, "integration_status": { - "id": "4", - "integration_level": 3 + "id": "1", + "integration_level": 0 }, + "phase":[{"phase_id":1, "phase_id":2}], "lab_id": "cse02", "lab_name": "Computer Programming", - "overview": "cp overview", - "sections": [] + "overview": "This lab deals with Computer Programming", + "sections": [ + { + "id": "10", + "name": "Introduction" + } + ] } #+END_EXAMPLE @@ -3553,6 +4261,7 @@ class TestUpdateLab(TestCase): "overview": "overview", "discipline_id": "CSE", "institute_id": "IITK", + "phase":[{"phase_id":1, "phase_id":2}], "developers": [ { "name": "Prof. Dharamaja", @@ -3675,6 +4384,7 @@ class TestUpdateLab(TestCase): "overview": "cp overview", "discipline_id": "ECE", "institute_id": "IITKgp", + "phase":[{"phase_id":1, "phase_id":2}], "developers": [ { "name": "Prof. Pallavi Pawar", @@ -3921,15 +4631,15 @@ def get_institute(): else: try: - current_app.logger.debug("running operation get_institutes") - institutes = SystemInterface.get_institutes() - current_app.logger.debug("completed operation get_institutes") - return pagination( + current_app.logger.debug("running operation get_institutes") + institutes = SystemInterface.get_institutes() + current_app.logger.debug("completed operation get_institutes") + return pagination( institutes, '/institutes?', start=int(request.args.get('page', 1)), limit=int(request.args.get('pageSize', 25)) - ) + ) except TypeError as e: current_app.logger.error("Exception = %s" % str(e)) @@ -3960,7 +4670,6 @@ def get_institute(): "msg": err_str} abort(500, msg) - #+END_SRC *** Test Cases @@ -4225,7 +4934,7 @@ class TestAddInstitute(TestCase): #+END_SRC - + ** Get Disciplines and Get Discipline *** API Design **** Get all Disciplines @@ -4396,7 +5105,7 @@ http://localhost:5000/disciplines http://localhost:5000/disciplines?discipline_id=cse #+END_EXAMPLE -*** Implementation +*** Implementation REST API to get discipline. #+NAME: get_disciplines #+BEGIN_SRC python @@ -4482,8 +5191,6 @@ def get_discipline(): msg = {"status": "failure", "msg": err_str} abort(500, msg) - - #+END_SRC *** Test Cases @@ -5149,10 +5856,9 @@ def get_experiment(): msg = {"status": "failure", "msg": err_str} abort(500, msg) - #+END_SRC - + *** Test Cases **** TestGetExperiment #+NAME: test_get_Experiment @@ -5844,7 +6550,7 @@ class TestAddExperiment(TestCase): #+END_SRC - + ** Get Sections *** API Design **** Get all Sections @@ -5886,10 +6592,10 @@ def get_sections(): sections = SystemInterface.get_sections() current_app.logger.debug("executed get_sections") return pagination( - sections, - '/sections?', - start=int(request.args.get('page', 1)), - limit=int(request.args.get('pageSize', 25)) + sections, + '/sections?', + start=int(request.args.get('page', 1)), + limit=int(request.args.get('pageSize', 25)) ) except TypeError as e: @@ -6210,7 +6916,12 @@ def get_hosting_info(): current_app.logger.debug("execute get_hosting_info") hosting_info = SystemInterface.get_hosting_info() current_app.logger.debug("executed get_hosting_info") - return jsonify_list(hosting_info) + return pagination( + hosting_info, + '/hosting_info?', + start=int(request.args.get('page', 1)), + limit=int(request.args.get('pageSize', 25)) + ) except NotAuthorizedError as e: current_app.logger.error("Exception = %s" % str(e)) @@ -6561,6 +7272,7 @@ class TestDeleteLab(TestCase): "overview": "overview", "discipline_id": "CSE", "institute_id": "IITK", + "phase":[{"phase_id":1, "phase_id":2}], "developers": [ { "name": "Dinesh Malviya", @@ -6666,101 +7378,57 @@ http://localhost:5000/hosting_info REST API to add an hosting_info. #+NAME: add_hosting_info #+BEGIN_SRC python -@api.route('/hosting_info', methods=['GET']) -def get_hosting_info(): - if request.method == 'GET': - if 'hosted_url' in request.args: - hosted_url = request.args['hosted_url'] - try: - current_app.logger.debug("execute get_hosting_info_by_hosted_url") - hosting_info = SystemInterface.get_hosting_info_by_hosted_url(hosted_url) - current_app.logger.debug("executed get_hosting_info_by_hosted_url") - return jsonify(hosting_info) - - except NotAuthorizedError as e: - current_app.logger.error("Exception = %s" % str(e)) - err_str = str(e) - msg = {"status": "failure", - "status code": 401, - "msg": err_str} - abort(401, msg) - - except TypeError as e: - current_app.logger.error("Exception = %s" % str(e)) - err_str = str(e) - msg = {"status": "failure", - "msg": err_str } - abort(500, msg) - - except StateError as e: - current_app.logger.error("Exception = %s" % str(e)) - err_str = str(e) - msg = {"status": "failure", - "msg": err_str} - abort(500, msg) - - except NotFoundError as e: - current_app.logger.error("Exception = %s" % str(e)) - err_str = str(e) - msg = {"status": "failure", - "status code": 404, - "msg": err_str} - abort(404, msg) +@api.route('/hosting_info', methods=['POST']) +def add_hosting_info(): + if request.method == 'POST': + if request.is_json: + data_json = json.dumps(request.get_json()) + data_dict = yaml.safe_load(data_json) + else: + abort(500, "the request does not contain data in json") - except Exception as e: - current_app.logger.error("Exception = %s" % str(e)) - err_str = str(e) - msg = {"status": "failure", - "msg": err_str} - abort(500, msg) - else: - try: - current_app.logger.debug("execute get_hosting_info") - hosting_info = SystemInterface.get_hosting_info() - current_app.logger.debug("executed get_hosting_info") - return pagination( - hosting_info, - '/hosting_info?', - start=int(request.args.get('page', 1)), - limit=int(request.args.get('pageSize', 25)) - ) + try: + current_app.logger.debug("execute add_hosting_info") + hosting_info = SystemInterface.add_hosting_info(data_dict) + current_app.logger.debug("executed add_hosting_info") + return jsonify(hosting_info) - except NotAuthorizedError as e: - current_app.logger.error("Exception = %s" % str(e)) - err_str = str(e) - msg = {"status": "failure", + except NotAuthorizedError as e: + current_app.logger.error("Exception = %s" % str(e)) + err_str = str(e) + msg = {"status": "failure", "status code": 401, "msg": err_str} - abort(401, msg) + abort(401, msg) - except TypeError as e: - current_app.logger.error("Exception = %s" % str(e)) - err_str = str(e) - msg = {"status": "failure", + except TypeError as e: + current_app.logger.error("Exception = %s" % str(e)) + err_str = str(e) + msg = {"status": "failure", "msg": err_str } - abort(500, msg) + abort(500, msg) - except StateError as e: - current_app.logger.error("Exception = %s" % str(e)) - err_str = str(e) - msg = {"status": "failure", + except StateError as e: + current_app.logger.error("Exception = %s" % str(e)) + err_str = str(e) + msg = {"status": "failure", "msg": err_str} - abort(500, msg) + abort(500, msg) - except NotFoundError as e: - current_app.logger.error("Exception = %s" % str(e)) - err_str = str(e) - msg = {"status": "failure", + except NotFoundError as e: + current_app.logger.error("Exception = %s" % str(e)) + err_str = str(e) + msg = {"status": "failure", "status code": 404, "msg": err_str} - abort(404, msg) + abort(404, msg) - except Exception as e: - current_app.logger.error("Exception = %s" % str(e)) - err_str = str(e) - msg = {"status": "failure", + except Exception as e: + current_app.logger.error("Exception = %s" % str(e)) + err_str = str(e) + msg = {"status": "failure", "msg": err_str} - abort(500, msg) + abort(500, msg) #+END_SRC @@ -6918,15 +7586,16 @@ def get_integration_status(): else: try: - current_app.logger.debug("execute get_integration_status") - integration_status = SystemInterface.get_integration_status() - current_app.logger.debug("executed get_integration_status") - return pagination( + current_app.logger.debug("execute get_integration_status") + integration_status = SystemInterface.get_integration_status() + current_app.logger.debug("executed get_integration_status") + return pagination( integration_status, '/integration_status?', start=int(request.args.get('page', 1)), limit=int(request.args.get('pageSize', 25)) - ) + ) + except NotAuthorizedError as e: current_app.logger.error("Exception = %s" % str(e)) err_str = str(e) @@ -6963,7 +7632,6 @@ def get_integration_status(): msg = {"status": "failure", "msg": err_str} abort(500, msg) - #+END_SRC *** Test Cases @@ -7129,7 +7797,7 @@ class TestAddIntegration_Status(TestCase): #+END_SRC - + ** Get Emails *** API Design **** Get all Emails @@ -7207,15 +7875,15 @@ def get_email(): else: try: - current_app.logger.debug("execute get_emails") - emails = SystemInterface.get_emails() - current_app.logger.debug("executed get_emails") - return pagination( + current_app.logger.debug("execute get_emails") + emails = SystemInterface.get_emails() + current_app.logger.debug("executed get_emails") + return pagination( emails, '/emails?', start=int(request.args.get('page', 1)), limit=int(request.args.get('pageSize', 25)) - ) + ) except TypeError as e: current_app.logger.error("Exception = %s" % str(e)) @@ -7245,7 +7913,6 @@ def get_email(): msg = {"status": "failure", "msg": err_str} abort(500, msg) - #+END_SRC *** Test Cases @@ -7281,7 +7948,7 @@ class TestGetEmail(TestCase): #+END_SRC - + ** Add Email *** API Design **** Add Email @@ -7411,7 +8078,7 @@ class TestAddEmail(TestCase): #+END_SRC - + ** Get Names *** API Design **** Get all names @@ -7453,10 +8120,10 @@ def get_names(): names = SystemInterface.get_names() current_app.logger.debug("executed get_names") return pagination( - names, - '/names?', - start=int(request.args.get('page', 1)), - limit=int(request.args.get('pageSize', 25)) + names, + '/names?', + start=int(request.args.get('page', 1)), + limit=int(request.args.get('pageSize', 25)) ) except TypeError as e: @@ -7488,7 +8155,6 @@ def get_names(): "msg": err_str} abort(500, msg) - #+END_SRC *** Test Cases @@ -7757,15 +8423,15 @@ def get_developer(): else: try: - current_app.logger.debug("execute get_developers") - developers = SystemInterface.get_developers() - current_app.logger.debug("executed get_developers") - return pagination( + current_app.logger.debug("execute get_developers") + developers = SystemInterface.get_developers() + current_app.logger.debug("executed get_developers") + return pagination( developers, '/developers?', start=int(request.args.get('page', 1)), limit=int(request.args.get('pageSize', 25)) - ) + ) except TypeError as e: current_app.logger.error("Exception = %s" % str(e)) @@ -7795,8 +8461,6 @@ def get_developer(): msg = {"status": "failure", "msg": err_str} abort(500, msg) - - #+END_SRC *** Test Cases @@ -8804,7 +9468,7 @@ class TestGetSectionbyid(TestCase): :PROPERTIES: :CUSTOM_ID: api_update_institutes_by_instid :END: - - URL :: /institutes? + - URL :: /institutes?institute_id= - Method :: PUT @@ -8813,9 +9477,14 @@ class TestGetSectionbyid(TestCase): - Payload :: #+BEGIN_EXAMPLE { -"institute_name": "IIIT Hydfdfdd", -"key": "defaultkey", + "assets": [ + { + "asset_type": "image", + "path": "amrita-university.png" + } + ], + "key": "defaultkey" } #+END_EXAMPLE @@ -8824,17 +9493,19 @@ class TestGetSectionbyid(TestCase): + Contents : #+BEGIN_EXAMPLE { - "id": 1, - "institute_id": "iiith", - "institute_name": "IIIT Hydfdfdd", "assets": [ - { - "asset_type": "Image", - "id": 1, - "path": "vlabs.ac.in/images/static/logo.png" - } - ] - + { + "asset_type": { + "asset_type": "image", + "id": "1" + }, + "id": "153", + "path": "amrita-university.png" + } + ], + "id": "1", + "institute_id": "amrita", + "institute_name": "Amrita University" } #+END_EXAMPLE @@ -8846,7 +9517,7 @@ class TestGetSectionbyid(TestCase): - Example: #+BEGIN_EXAMPLE - http://localhost:5000/institutes?institute_id=iiith + http://localhost:5000/institutes?institute_id=amrita #+END_EXAMPLE *** Implementation @@ -9132,7 +9803,7 @@ class TestDeleteInstitute(TestCase): :PROPERTIES: :CUSTOM_ID: api_update_disciplines_by_disid :END: - - URL :: /disciplines/ + - URL :: /disciplines?discipline_id= - Method :: PUT @@ -9141,32 +9812,35 @@ class TestDeleteInstitute(TestCase): - Payload :: #+BEGIN_EXAMPLE { -"discipline_name": "Auto Mobiles and Engineering", -"assets": [ - { - "asset_type": "Image", - "path": "vlabs.ac.in/images/static/logo.png" - } - ], + "assets": [ + { + "asset_type": "image", + "path": "physical-sciences.png" + } + ], - "key": "" + "key": "defaultkey" } + #+END_EXAMPLE - Success Response + Status_Code: 200 + Contents : #+BEGIN_EXAMPLE { -"assets": [ - { - "asset_type": "Image", - "id": 1, - "path": "vlabs.ac.in/images/static/logo.png" - } - ], - "discipline_id": "ab", - "discipline_name": "Auto Mobiles and Engineering", - "id": 15 + "assets": [ + { + "asset_type": { + "asset_type": "image", + "id": "1" + }, + "id": "160", + "path": "physical-sciences.png" + } + ], + "discipline_id": "phy-sc", + "discipline_name": "Physical Sciences", + "id": "11" } #+END_EXAMPLE @@ -9178,7 +9852,7 @@ class TestDeleteInstitute(TestCase): - Example: #+BEGIN_EXAMPLE - http://localhost:5000/disciplines?discipline_id=cse + http://localhost:5000/disciplines?discipline_id=phy-sc #+END_EXAMPLE *** Implementation @@ -11025,15 +11699,15 @@ def get_asset(): abort(500, msg) else: try: - current_app.logger.debug("running operation get_assets") - assets = SystemInterface.get_assets() - current_app.logger.debug("completed operation get_assets") - return pagination( + current_app.logger.debug("running operation get_assets") + assets = SystemInterface.get_assets() + current_app.logger.debug("completed operation get_assets") + return pagination( assets, '/assets?', start=int(request.args.get('page', 1)), limit=int(request.args.get('pageSize', 25)) - ) + ) except TypeError as e: current_app.logger.error("Exception = %s" % str(e)) @@ -11063,8 +11737,6 @@ def get_asset(): msg = {"status": "failure", "msg": err_str} abort(500, msg) - - #+END_SRC *** Test Cases @@ -11550,7 +12222,7 @@ import os import requests import json from flask import session, render_template, Blueprint, request, \ - jsonify, abort, current_app, redirect, url_for + jsonify, abort, current_app, redirect, url_for, make_response from flask import Flask from runtime.utils.type_utils import jsonify_list from runtime.exceptions.custom_exceptions import * @@ -11561,7 +12233,7 @@ api = Blueprint('APIs', __name__) #+end_src - + ** tests *** Imports #+name: imports_for_tests @@ -11590,7 +12262,7 @@ if __name__ == '__main__': #+END_SRC - + * Tangle :boilerplate: ** sources @@ -11643,7 +12315,7 @@ if __name__ == '__main__': #+END_SRC - + ** tests #+BEGIN_SRC python :tangle test_api.py :eval no :noweb yes <> diff --git a/src/runtime/rest/app.org b/src/runtime/rest/app.org index 3278300..85cb83e 100755 --- a/src/runtime/rest/app.org +++ b/src/runtime/rest/app.org @@ -181,7 +181,7 @@ def configure_logging(app): #+NAME: run_server if __name__ == "__main__": app = create_app(config) - app.run(debug=True, host='localhost', port=1307, threaded=True, ssl_context = ('./ssl.crt', './ssl.key')) + app.run(debug=True, host='localhost', port=5000, threaded=True, ssl_context = ('./ssl.crt', './ssl.key')) #+END_SRC @@ -216,7 +216,7 @@ from runtime.utils.class_persistence_template import db from runtime.rest.api import api from runtime.system.system_interface import SystemInterface from runtime.system.persistence_delegate import PersistenceDelegate - +from flask import request # import config file from runtime.config import flask_app_config as config from runtime.config.flask_app_config import LOG_FILE_DIRECTORY diff --git a/src/runtime/system/persistence-delegate.org b/src/runtime/system/persistence-delegate.org index 2c80152..bcf51be 100755 --- a/src/runtime/system/persistence-delegate.org +++ b/src/runtime/system/persistence-delegate.org @@ -35,7 +35,8 @@ class PersistenceDelegate(): 'integration_status': IntegrationStatus, 'name' : Name, 'email' : Email, - 'developer' : Developer + 'developer' : Developer, + 'phase': Phase } #+END_SRC @@ -68,36 +69,6 @@ class TestPersistenceDelegate(TestCase): Other functions that help =System= perform the operations. -*** Check if entity already exists - The following three functions checks whether the given entity exists or - not. To optimize the code, apply the following three principles: - - 1) *Observe Pattern* : observe the common =pattern/code= in the given three functions. - 2) *Abstract Structure* : extract the common =pattern/code= and replace the - common functionality with a new function definition. - 3) *Mapping* : Now map the 3 functions to the common function in such a way - that it should return the appropriate solution. - - By applying the above three principles on the below 3 functions, we get the - following fourth function. -**** Check if =entity= already exists - This function checks if an =entity= is already in the exists in the =System=. -#+NAME: persistence_entity_exists -#+BEGIN_SRC python - def entity_exists(self, cls_name, id): - ret_val = False - - try: - if cls_name.get_by_id(id) is not None: - ret_val = True - except Exception as e: - pass - - return ret_val - -#+END_SRC - - *** Check if =lab= already exists This function checks if a lab is already in the lab-set of the =System=. #+NAME: persistence_lab_exists @@ -164,11 +135,16 @@ class TestPersistenceDelegate(TestCase): section = Section(name=name) section.save() + phase1=Phase(phase_id=1) + phase1.save() - lab = Lab(lab_name=lab_name1, lab_id=lab_id1, overview=overview1, - institute=inst, discipline=discipline, assets=[asset], - experiments=[], integration_status=integration_status, - developers=[dev], sections=[section],hosting_info=[host]) + lab = Lab(lab_name=lab_name1, lab_id=lab_id1, + overview=overview1, institute=inst, + discipline=discipline, assets=[asset], + experiments=[], phase=[phase1], + integration_status=integration_status, + developers=[dev], sections=[section], + hosting_info=[host]) lab1 = self.persistence_delegate.add_lab(lab) @@ -176,10 +152,15 @@ class TestPersistenceDelegate(TestCase): lab_id2="CSE02" overview2 = "overview" - lab2 = Lab(lab_name=lab_name2, lab_id=lab_id2, overview=overview2, - integration_status=integration_status, sections=[section], - institute=inst, discipline=discipline, assets=[asset], - experiments=[], developers=[dev], hosting_info=[host]) + lab2 = Lab(lab_name=lab_name2, lab_id=lab_id2, + overview=overview2, + integration_status=integration_status, + sections=[section], phase=[phase1], + institute=inst, + discipline=discipline, + assets=[asset], + experiments=[], developers=[dev], + hosting_info=[host]) self.assertEqual(self.persistence_delegate.lab_exists(lab1), True) @@ -288,8 +269,10 @@ class TestPersistenceDelegate(TestCase): #+END_SRC + *** Check if =experiment= already exists + This function checks if a user is already in the user-set of the =System=. #+NAME: persistence_experiment_exists #+BEGIN_SRC python @@ -759,6 +742,50 @@ class TestPersistenceDelegate(TestCase): #+END_SRC +*** Check if =phase= already exists + + This function checks if a =phase= is already in the phase-set of the =System=. +#+NAME: persistence_phase_exists +#+BEGIN_SRC python + def phase_exists(self, phase): + ret_val = False + try: + current_app.logger.debug("running check on the" + " existence of phase") + if self.get_phase(phase_id=phase.get\ + ("phase_id")) is not None: + ret_val = True + current_app.logger.debug("completed check on" + " the existence of" + " phase") + except Exception as e: + current_app.logger.error("Error in returning" + " the phase %s" + %str(e)) + + return ret_val + +#+END_SRC + +**** Tests +#+NAME: test_persistence_phase_exists +#+BEGIN_SRC python + def test_phase_exists(self): + print "test_phase_exists" + + phase1 = Phase(phase_id=1) + phase1.save() + + phase2 = Phase(phase_id=2) + + self.assertEqual(self.persistence_delegate.\ + phase_exists(phase1), True) + self.assertEqual(self.persistence_delegate.\ + phase_exists(phase2), False) + +#+END_SRC + + *** Add lab to the system This function adds lab to the system. #+NAME: persistence_add_lab @@ -791,6 +818,9 @@ class TestPersistenceDelegate(TestCase): asset = Asset(asset_type=asset_type, path=path) asset.save() + phase1=Phase(phase_id=1) + phase1.save() + institute_name = "IIT Kanpur" institute_id = "IITK" inst = Institute(institute_name=institute_name, @@ -838,12 +868,15 @@ class TestPersistenceDelegate(TestCase): section = Section(name=name) section.save() - lab1 = Lab(lab_name=lab_name1, lab_id=lab_id1, \ - institute=inst, discipline=discipline,\ - assets=[asset], overview=overview,\ - experiments=[experiment], sections=[section], \ - integration_status=integration_status,\ - developers=[dev], hosting_info=[host]) + lab1 = Lab(lab_name=lab_name1, lab_id=lab_id1, + institute=inst, + discipline=discipline, + assets=[asset], overview=overview, + experiments=[experiment], + sections=[section], phase=[phase1], + integration_status=integration_status, + developers=[dev], + hosting_info=[host]) lab1 = self.persistence_delegate.add_lab(lab1) @@ -851,15 +884,19 @@ class TestPersistenceDelegate(TestCase): lab_id2="CSE02" overview="lab overview" - lab2 = Lab(lab_name=lab_name2, lab_id=lab_id2, overview=overview, - institute=inst, discipline=discipline, assets=[asset], - experiments=[], integration_status=integration_status, - developers=[dev], sections=[section], hosting_info=[host]) + lab2 = Lab(lab_name=lab_name2, lab_id=lab_id2, + overview=overview, assets=[asset], + institute=inst, experiments=[], + discipline=discipline, + integration_status=integration_status, + developers=[dev], phase=[phase1], + sections=[section], + hosting_info=[host]) - self.assertEqual(self.persistence_delegate.lab_exists(lab1), - True) - self.assertEqual(self.persistence_delegate.lab_exists(lab2), - False) + self.assertEqual(self.persistence_delegate.\ + lab_exists(lab1), True) + self.assertEqual(self.persistence_delegate.\ + lab_exists(lab2), False) #+END_SRC @@ -1223,7 +1260,7 @@ class TestPersistenceDelegate(TestCase): #+END_SRC -*** Add institute to the system +*** Add institute to the system This function adds institute to the system. #+NAME: persistence_add_institute @@ -1274,7 +1311,7 @@ class TestPersistenceDelegate(TestCase): #+END_SRC -*** Add hosting_info to the system +*** Add hosting_info to the system This function adds hosting_info to the system. #+NAME: persistence_add_hosting_info @@ -1321,7 +1358,7 @@ class TestPersistenceDelegate(TestCase): #+END_SRC -*** Add asset type to the system +*** Add asset type to the system This function adds asset to the system. #+NAME: persistence_add_asset_type @@ -1356,7 +1393,7 @@ class TestPersistenceDelegate(TestCase): #+END_SRC -*** Add asset to the system +*** Add asset to the system This function adds asset to the system. #+NAME: persistence_add_asset @@ -1408,8 +1445,7 @@ class TestPersistenceDelegate(TestCase): #+END_SRC -*** Add integration_status to the system - +*** Add integration_status to the system This function adds integration_status to the system. #+NAME: persistence_add_integration_status #+BEGIN_SRC python @@ -1448,13 +1484,46 @@ class TestPersistenceDelegate(TestCase): #+END_SRC -*** Update lab +*** Add phase to the system + This function adds phase to the system. +#+NAME: persistence_add_phase +#+BEGIN_SRC python + def add_phase(self, phase): + current_app.logger.debug("running add phase to" + " system operation" + " phase = %s" + % phase.to_client()) + phase.save() + current_app.logger.debug("completed add" + " phase to system" + " operation phase = %s" + % phase.to_client()) + return phase + +#+END_SRC + + +**** Tests +#+NAME: test_persistence_add_phase +#+BEGIN_SRC python + def test_add_phase(self): + print "test_add_phase" + phase1 = Phase(phase_id=1) + phase = self.persistence_delegate.add_phase(phase1) + phase = phase.get_by_id(1) + self.assertEqual(phase.get("phase_id"), + phase.get("phase_id")) + +#+END_SRC + + +*** Update lab This function updates existing lab. #+NAME: persistence_update_lab #+BEGIN_SRC python def update_lab(self, lab, lab_name, overview, institute, discipline, sections, integration_status, hosting_info, developers, - assets, experiments): + assets, experiments, phase): current_app.logger.debug("running update lab operation") @@ -1462,7 +1531,7 @@ class TestPersistenceDelegate(TestCase): discipline=discipline, sections=sections, hosting_info=hosting_info, integration_status=integration_status, developers=developers, assets=assets, - experiments=experiments) + experiments=experiments, phase=phase) lab.save() current_app.logger.debug("completed update lab operation") @@ -1520,7 +1589,6 @@ class TestPersistenceDelegate(TestCase): hosted_on=hosted_on) host.save() - exp_name = "Data Structures" exp_id = "cse01" overview = "overview" @@ -1538,10 +1606,17 @@ class TestPersistenceDelegate(TestCase): section = Section(name=name) section.save() - lab = Lab(lab_name=lab_name, lab_id=lab_id, overview=overview, - institute=inst, discipline=discipline, - assets=[asset], hosting_info=[host], sections=[section], - experiments=[exp1], developers=[dev], + phase1=Phase(phase_id=1) + phase1.save() + + lab = Lab(lab_name=lab_name, lab_id=lab_id, + overview=overview, + institute=inst, + discipline=discipline, + assets=[asset], hosting_info=[host], + sections=[section], + experiments=[exp1], phase=[phase1], + developers=[dev], integration_status=integration_status) lab1 = self.persistence_delegate.add_lab(lab) @@ -1575,6 +1650,9 @@ class TestPersistenceDelegate(TestCase): hosted_on=hosted_on1) host1.save() + phase2=Phase(phase_id=2) + phase2.save() + dev_name1 = Name(name="Tahiliani") dev_name1.save() email_id1 = Email(email="tahiliani@gmail.com") @@ -1603,8 +1681,9 @@ class TestPersistenceDelegate(TestCase): exp2 = self.persistence_delegate.add_experiment(exp) lab2 = self.persistence_delegate.update_lab\ - (lab1, lab_name1, overview1, inst1, discipline1, [section], - integration_status1, [host1], [dev1], [asset1], [exp2]), + (lab1, lab_name1, overview1, inst1, discipline1, + [section], integration_status1, [host1], + [dev1], [asset1], [exp2], [phase2]), lab2 = Lab.get_by_id(1) @@ -1632,7 +1711,7 @@ class TestPersistenceDelegate(TestCase): #+END_SRC -*** Update Experiment +*** Update Experiment This function updates existing experiment. #+NAME: persistence_update_experiment #+BEGIN_SRC python @@ -1792,7 +1871,7 @@ class TestPersistenceDelegate(TestCase): #+END_SRC -*** Update Discipline +*** Update Discipline This function updates existing discipline. #+NAME: persistence_update_discipline #+BEGIN_SRC python @@ -1846,7 +1925,7 @@ class TestPersistenceDelegate(TestCase): -*** Update Section +*** Update Section This function updates existing section. #+NAME: persistence_update_section #+BEGIN_SRC python @@ -1880,7 +1959,9 @@ class TestPersistenceDelegate(TestCase): #+END_SRC -*** Update developer + +*** Update developer + This function updates existing developer. #+NAME: persistence_update_developer #+BEGIN_SRC python @@ -1921,7 +2002,7 @@ class TestPersistenceDelegate(TestCase): #+END_SRC -*** Update Institute +*** Update Institute This function updates existing institute. #+NAME: persistence_update_institute #+BEGIN_SRC python @@ -1978,7 +2059,7 @@ class TestPersistenceDelegate(TestCase): #+END_SRC -*** Update HostingInfo +*** Update HostingInfo This function updates existing hosting_info. #+NAME: persistence_update_hosting_info #+BEGIN_SRC python @@ -2023,7 +2104,7 @@ class TestPersistenceDelegate(TestCase): #+END_SRC -*** Update Asset +*** Update Asset This function updates existing asset. #+NAME: persistence_update_asset #+BEGIN_SRC python @@ -2066,7 +2147,7 @@ class TestPersistenceDelegate(TestCase): #+END_SRC -*** Delete lab +*** Delete lab This function delete existing lab. #+NAME: persistence_delete_lab #+BEGIN_SRC python @@ -2145,10 +2226,16 @@ class TestPersistenceDelegate(TestCase): section = Section(name=name) section.save() - lab = Lab(lab_name=lab_name, lab_id=lab_id, overview=overview, - institute=inst, discipline=discipline, + phase1=Phase(phase_id=1) + phase1.save() + + lab = Lab(lab_name=lab_name, lab_id=lab_id, + overview=overview, + institute=inst, + discipline=discipline, hosting_info=[host], assets=[asset], - experiments=[], developers=[dev], sections=[section], + experiments=[], developers=[dev], + sections=[section], phase=[phase1], integration_status=integration_status) lab1 = self.persistence_delegate.add_lab(lab) @@ -2157,10 +2244,16 @@ class TestPersistenceDelegate(TestCase): lab_id1 = "cse02" overview = "overview" - lab1 = Lab(lab_name=lab_name1, lab_id=lab_id1, overview=overview, - institute=inst, discipline=discipline, assets=[asset], - experiments=[], integration_status=integration_status, - developers=[dev], hosting_info=[host], sections=[section]) + lab1 = Lab(lab_name=lab_name1, lab_id=lab_id1, + overview=overview, + institute=inst, + discipline=discipline, + assets=[asset], + experiments=[], phase=[phase1], + integration_status=integration_status, + developers=[dev], + hosting_info=[host], + sections=[section]) lab2 = self.persistence_delegate.add_lab(lab1) @@ -2171,7 +2264,7 @@ class TestPersistenceDelegate(TestCase): #+END_SRC -*** Delete Experiment +*** Delete Experiment This function delete existing experiment. #+NAME: persistence_delete_experiment #+BEGIN_SRC python @@ -2271,7 +2364,7 @@ class TestPersistenceDelegate(TestCase): #+END_SRC -*** Delete Discipline +*** Delete Discipline This function delete existing Discipline. #+NAME: persistence_delete_discipline #+BEGIN_SRC python @@ -2328,7 +2421,7 @@ class TestPersistenceDelegate(TestCase): #+END_SRC -*** Delete Section +*** Delete Section This function delete existing section. #+NAME: persistence_delete_section #+BEGIN_SRC python @@ -2372,7 +2465,7 @@ class TestPersistenceDelegate(TestCase): #+END_SRC -*** Delete Name +*** Delete Name This function delete existing name. #+NAME: persistence_delete_name #+BEGIN_SRC python @@ -2417,7 +2510,7 @@ class TestPersistenceDelegate(TestCase): #+END_SRC -*** Delete Email +*** Delete Email This function delete existing email. #+NAME: persistence_delete_email #+BEGIN_SRC python @@ -2460,7 +2553,7 @@ class TestPersistenceDelegate(TestCase): #+END_SRC -*** Delete Developer +*** Delete Developer This function delete existing developer. #+NAME: persistence_delete_developer #+BEGIN_SRC python @@ -2518,7 +2611,7 @@ class TestPersistenceDelegate(TestCase): #+END_SRC -*** Delete Institute +*** Delete Institute This function deletes existing institute. #+NAME: persistence_delete_institute #+BEGIN_SRC python @@ -2578,7 +2671,7 @@ class TestPersistenceDelegate(TestCase): #+END_SRC -*** Delete HostingInfo +*** Delete HostingInfo This function deletes existing hosting_info. #+NAME: persistence_delete_hosting_info #+BEGIN_SRC python @@ -2634,7 +2727,7 @@ class TestPersistenceDelegate(TestCase): #+END_SRC -*** Delete Asset +*** Delete Asset This function delete existing asset. #+NAME: persistence_delete_asset #+BEGIN_SRC python @@ -2689,7 +2782,7 @@ class TestPersistenceDelegate(TestCase): -*** Delete IntegrationStatus +*** Delete IntegrationStatus This function deletes existing integration_status. #+NAME: persistence_delete_integration_status #+BEGIN_SRC python @@ -2741,7 +2834,48 @@ class TestPersistenceDelegate(TestCase): -*** Add experiments to a Lab +*** Delete Phase + This function delete existing phase. +#+NAME: persistence_delete_phase +#+BEGIN_SRC python + def delete_phase(self, ph_id): + current_app.logger.debug("running delete on phase") + record = Phase.get_by_id(ph_id) + if not record: + abort(404, 'No Phase with id %s' % (ph_id)) + else: + try: + record.delete() + current_app.logger.debug("completed delete" + " on phase") + except Exception, e: + current_app.logger.error("Exception = %s" % str(e)) + print e + abort(500, str(e)) + + return ph_id + +#+END_SRC + +**** Tests +#+NAME: test_persistence_delete_phase +#+BEGIN_SRC python + def test_delete_phase(self): + print "test_delete_phase" + phase1 = Phase(phase_id=1) + phase1.save() + + phase2 = Phase(phase_id=2) + phase2.save() + + self.persistence_delegate.delete_phase(2) + + self.assertEqual(len(Phase.get_all()), 1) + +#+END_SRC + + +*** Add experiments to a Lab This function adds experiments to a given lab. #+NAME: persistence_add_experiments_to_lab #+BEGIN_SRC python @@ -2790,18 +2924,21 @@ class TestPersistenceDelegate(TestCase): institute_name = "IIT Kanpur" institute_id = "IITK" - inst = Institute(institute_name=institute_name, institute_id=institute_id, assets=[asset]) + inst = Institute(institute_name=institute_name, + institute_id=institute_id, + assets=[asset]) inst.save() discipline_name = "IIT Kanpur" discipline_id = "IITK" - discipline = Discipline(discipline_name=discipline_name, discipline_id=discipline_id, - assets=[asset]) + discipline = Discipline(discipline_name=discipline_name, + discipline_id=discipline_id, + assets=[asset]) discipline.save() integration_level = 4 integration_status = IntegrationStatus(integration_level= - integration_level) + integration_level) integration_status.save() dev_name = Name(name="Mohit Tahiliani") @@ -2823,10 +2960,16 @@ class TestPersistenceDelegate(TestCase): section = Section(name=name) section.save() - lab = Lab(lab_name=lab_name, lab_id=lab_id, overview=overview, - institute=inst, discipline=discipline, + phase1=Phase(phase_id=1) + phase1.save() + + lab = Lab(lab_name=lab_name, lab_id=lab_id, + overview=overview, + institute=inst, + discipline=discipline, hosting_info=[host], assets=[asset], - experiments=[], developers=[dev], sections=[section], + experiments=[], developers=[dev], + sections=[section], phase=[phase1], integration_status=integration_status) lab.save() @@ -2834,11 +2977,15 @@ class TestPersistenceDelegate(TestCase): exp_name = "Number Systems" exp_id = "EE99777" overview = "overview" - experiment = Experiment(exp_name=exp_name, exp_id=exp_id, \ - overview=overview, sections=[], - institute=inst, discipline=discipline, + experiment = Experiment(exp_name=exp_name, + exp_id=exp_id, + overview=overview, + sections=[], + institute=inst, + discipline=discipline, integration_status=integration_status, - assets=[asset], developers=[dev], + assets=[asset], + developers=[dev], hosting_info=[host]) experiment.save() @@ -2855,7 +3002,7 @@ class TestPersistenceDelegate(TestCase): #+END_SRC -*** Add assets to a Lab +*** Add assets to a Lab This function adds assets to a given lab. #+NAME: persistence_add_assets_to_lab #+BEGIN_SRC python @@ -2966,7 +3113,7 @@ class TestPersistenceDelegate(TestCase): #+END_SRC -*** Add labs to an Institute +*** Add labs to an Institute This function adds labs to a given institute. #+NAME: persistence_add_labs_to_institute #+BEGIN_SRC python @@ -3011,18 +3158,21 @@ class TestPersistenceDelegate(TestCase): institute_name = "IIT Kanpur" institute_id = "IITK" - inst = Institute(institute_name=institute_name, institute_id=institute_id, assets=[asset]) + inst = Institute(institute_name=institute_name, + institute_id=institute_id, + assets=[asset]) inst.save() discipline_name = "IIT Kanpur" discipline_id = "IITK" - discipline = Discipline(discipline_name=discipline_name, discipline_id=discipline_id, - assets=[asset]) + discipline = Discipline(discipline_name=discipline_name, + discipline_id=discipline_id, + assets=[asset]) discipline.save() integration_level = 4 integration_status = IntegrationStatus(integration_level= - integration_level) + integration_level) integration_status.save() dev_name = Name(name="Mohit Tahiliani") @@ -3044,10 +3194,18 @@ class TestPersistenceDelegate(TestCase): section = Section(name=name) section.save() - lab = Lab(lab_name=lab_name, lab_id=lab_id, overview=overview, - institute=inst, discipline=discipline,sections=[section], - hosting_info=[host], assets=[], experiments=[], - developers=[dev], integration_status=integration_status) + phase1=Phase(phase_id=1) + phase1.save() + + lab = Lab(lab_name=lab_name, lab_id=lab_id, + overview=overview, + institute=inst, + discipline=discipline, + sections=[section], + hosting_info=[host], assets=[], + experiments=[], phase=[phase1], + developers=[dev], + integration_status=integration_status) lab.save() @@ -3064,7 +3222,7 @@ class TestPersistenceDelegate(TestCase): #+END_SRC -*** Add sections to a Experiment +*** Add sections to a Experiment This function adds sections to a given experiment. #+NAME: persistence_add_sections_to_experiment #+BEGIN_SRC python @@ -3158,7 +3316,7 @@ class TestPersistenceDelegate(TestCase): #+END_SRC -*** Get an object +*** Get an object A generic function to find an object of type =cls= matching a given a criteria #+NAME: persistence_get_object @@ -3175,7 +3333,7 @@ class TestPersistenceDelegate(TestCase): #+END_SRC -*** Get Lab +*** Get Lab This function returns a lab if present in the database. If the lab is not present, =None= type is returned. #+NAME: persistence_get_lab @@ -3206,18 +3364,21 @@ class TestPersistenceDelegate(TestCase): institute_name = "IIT Kanpur" institute_id = "IITK" - inst = Institute(institute_name=institute_name, institute_id=institute_id, assets=[asset]) + inst = Institute(institute_name=institute_name, + institute_id=institute_id, + assets=[asset]) inst.save() discipline_name = "IIT Kanpur" discipline_id = "IITK" - discipline = Discipline(discipline_name=discipline_name, discipline_id=discipline_id, - assets=[asset]) + discipline = Discipline(discipline_name=discipline_name, + discipline_id=discipline_id, + assets=[asset]) discipline.save() integration_level = 4 - integration_status = IntegrationStatus(integration_level= - integration_level) + integration_status = IntegrationStatus\ + (integration_level=integration_level) integration_status.save() dev_name = Name(name="Mohit Tahiliani") @@ -3239,10 +3400,16 @@ class TestPersistenceDelegate(TestCase): section = Section(name=name) section.save() - lab = Lab(lab_name=lab_name1, lab_id=lab_id1, overview=overview, - institute=inst, discipline=discipline, + phase1=Phase(phase_id=1) + phase1.save() + + lab = Lab(lab_name=lab_name1, lab_id=lab_id1, + overview=overview, + institute=inst, + discipline=discipline, hosting_info=[host], assets=[asset], - experiments=[], developers=[dev], sections=[section], + experiments=[], developers=[dev], + sections=[section], phase=[phase1], integration_status=integration_status) lab.save() @@ -3256,7 +3423,7 @@ class TestPersistenceDelegate(TestCase): -*** Get AssetType +*** Get AssetType This function returns a lab if present in the database. If the lab is not present, =None= type is returned. #+NAME: persistence_get_asset_type @@ -3320,9 +3487,12 @@ class TestPersistenceDelegate(TestCase): section = Section(name=name) section.save() + phase1=Phase(phase_id=1) + phase1.save() + lab = Lab(lab_name=lab_name1, lab_id=lab_id1, overview=overview, institute=inst, discipline=discipline, - hosting_info=[host], assets=[asset], + hosting_info=[host], assets=[asset], phase=[phase1], experiments=[], developers=[dev], sections=[section], integration_status=integration_status) @@ -3336,7 +3506,7 @@ class TestPersistenceDelegate(TestCase): #+END_SRC -*** Get Section +*** Get Section This function returns a section if present in the database. If the lab is not present, =None= type is returned. #+NAME: persistence_get_section @@ -3366,7 +3536,7 @@ class TestPersistenceDelegate(TestCase): -*** Get Name +*** Get Name This function returns a name if present in the database. If the name is not present, =None= type is returned. #+NAME: persistence_get_name @@ -3396,7 +3566,7 @@ class TestPersistenceDelegate(TestCase): -*** Get Email +*** Get Email This function returns a email if present in the database. If the email is not present, =None= type is returned. #+NAME: persistence_get_email @@ -3426,7 +3596,7 @@ class TestPersistenceDelegate(TestCase): -*** Get Developer +*** Get Developer This function returns a developer if present in the database. If the developer is not present, =None= type is returned. #+NAME: persistence_get_developer @@ -3478,7 +3648,7 @@ class TestPersistenceDelegate(TestCase): -*** Get Experiment +*** Get Experiment This function returns experiment if present in the database. If the experiment is not present, =None= type is returned. #+NAME: persistence_get_experiment @@ -3555,7 +3725,7 @@ class TestPersistenceDelegate(TestCase): -*** Get Institute +*** Get Institute This function returns institute if present in the database. If the institute is not present, =None= type is returned. #+NAME: persistence_get_institute @@ -3597,7 +3767,7 @@ class TestPersistenceDelegate(TestCase): #+END_SRC -*** Get Discipline +*** Get Discipline This function returns discipline if present in the database. If the discipline is not present, =None= type is returned. #+NAME: persistence_get_discipline @@ -3636,7 +3806,7 @@ class TestPersistenceDelegate(TestCase): #+END_SRC -*** Get Asset +*** Get Asset This function returns asset if present in the database. If the asset is not present, =None= type is returned. #+NAME: persistence_get_asset @@ -3670,7 +3840,7 @@ class TestPersistenceDelegate(TestCase): -*** Get Labs +*** Get Labs This function returns all labs if present in the database. If the labs are not present, =None= type is returned. #+NAME: persistence_get_labs @@ -3708,18 +3878,21 @@ class TestPersistenceDelegate(TestCase): institute_name = "IIT Kanpur" institute_id = "IITK" - inst = Institute(institute_name=institute_name, institute_id=institute_id, assets=[asset]) + inst = Institute(institute_name=institute_name, + institute_id=institute_id, + assets=[asset]) inst.save() discipline_name = "IIT Kanpur" discipline_id = "IITK" - discipline = Discipline(discipline_name=discipline_name, discipline_id=discipline_id, - assets=[asset]) + discipline = Discipline(discipline_name=discipline_name, + discipline_id=discipline_id, + assets=[asset]) discipline.save() integration_level = 4 - integration_status = IntegrationStatus(integration_level= - integration_level) + integration_status = IntegrationStatus\ + (integration_level=integration_level) integration_status.save() dev_name = Name(name="Mohit Tahiliani") @@ -3741,10 +3914,16 @@ class TestPersistenceDelegate(TestCase): section = Section(name=name) section.save() - lab1 = Lab(lab_name=lab_name1, lab_id=lab_id1, overview=overview, - institute=inst, discipline=discipline, + phase1=Phase(phase_id=1) + phase1.save() + + lab1 = Lab(lab_name=lab_name1, lab_id=lab_id1, + overview=overview, + institute=inst, + discipline=discipline, hosting_info=[host], assets=[asset], - experiments=[], developers=[dev], sections=[section], + experiments=[], developers=[dev], + sections=[section], phase=[phase1], integration_status=integration_status) lab1.save() @@ -3753,17 +3932,26 @@ class TestPersistenceDelegate(TestCase): lab_id2="CSE02" - lab2 = Lab(lab_name=lab_name2, lab_id=lab_id2, overview=overview, \ - institute=inst, discipline=discipline, assets=[asset],\ - experiments=[], integration_status=integration_status, - developers=[dev], hosting_info=[host], sections=[section]) + lab2 = Lab(lab_name=lab_name2, lab_id=lab_id2, + overview=overview, + institute=inst, + discipline=discipline, + assets=[asset], + experiments=[], phase=[phase1], + integration_status=integration_status, + developers=[dev], + hosting_info=[host], + sections=[section]) lab2.save() - labs_list = self.persistence_delegate.get_labs(overview=overview) + labs_list = self.persistence_delegate.\ + get_labs(overview=overview) - self.assertEqual(labs_list[0].get("overview"), overview) - self.assertEqual(labs_list[1].get("overview"), overview) + self.assertEqual(labs_list[0].get("overview"), + overview) + self.assertEqual(labs_list[1].get("overview"), + overview) def test_get_lab_with_given_lab_id(self): print "test_get_lab_with_given_lab_id" @@ -3780,18 +3968,21 @@ class TestPersistenceDelegate(TestCase): institute_name = "IIT Kanpur" institute_id = "IITK" - inst = Institute(institute_name=institute_name, institute_id=institute_id, assets=[asset]) + inst = Institute(institute_name=institute_name, + institute_id=institute_id, + assets=[asset]) inst.save() discipline_name = "IIT Kanpur" discipline_id = "IITK" - discipline = Discipline(discipline_name=discipline_name, discipline_id=discipline_id, - assets=[asset]) + discipline = Discipline(discipline_name=discipline_name, + discipline_id=discipline_id, + assets=[asset]) discipline.save() integration_level = 4 - integration_status = IntegrationStatus(integration_level= - integration_level) + integration_status = IntegrationStatus\ + (integration_level=integration_level) integration_status.save() dev_name = Name(name="Mohit Tahiliani") @@ -3813,10 +4004,16 @@ class TestPersistenceDelegate(TestCase): section = Section(name=name) section.save() - lab1 = Lab(lab_name=lab_name1, lab_id=lab_id1, overview=overview, - institute=inst, discipline=discipline, + phase1=Phase(phase_id=1) + phase1.save() + + lab1 = Lab(lab_name=lab_name1, lab_id=lab_id1, + overview=overview, + institute=inst, + discipline=discipline, hosting_info=[host], assets=[asset], - experiments=[], developers=[dev], sections=[section], + experiments=[], developers=[dev], + sections=[section], phase=[phase1], integration_status=integration_status) lab1.save() @@ -3824,16 +4021,24 @@ class TestPersistenceDelegate(TestCase): lab_name2="Data Structures" lab_id2="CSE02" - lab2 = Lab(lab_name=lab_name2, lab_id=lab_id2, overview=overview, \ - institute=inst, discipline=discipline, assets=[asset],\ - experiments=[], integration_status=integration_status,\ - developers=[dev], sections=[section], hosting_info=[host]) + lab2 = Lab(lab_name=lab_name2, lab_id=lab_id2, + overview=overview, + institute=inst, + discipline=discipline, + assets=[asset], + experiments=[], phase=[phase1], + integration_status=integration_status, + developers=[dev], + sections=[section], + hosting_info=[host]) lab2.save() - labs_list = self.persistence_delegate.get_labs(lab_id=lab_id1) + labs_list = self.persistence_delegate.get_labs\ + (lab_id=lab_id1) - self.assertEqual(labs_list[0].get("lab_id"), lab_id1) + self.assertEqual(labs_list[0].get("lab_id"), + lab_id1) def test_get_lab_with_given_lab_id_and_lab_name(self): print "test_get_lab_with_given_lab_id_and_labname" @@ -3850,18 +4055,21 @@ class TestPersistenceDelegate(TestCase): institute_name = "IIT Kanpur" institute_id = "IITK" - inst = Institute(institute_name=institute_name, institute_id=institute_id, assets=[asset]) + inst = Institute(institute_name=institute_name, + institute_id=institute_id, + assets=[asset]) inst.save() discipline_name = "computer science" discipline_id = "cse" - discipline = Discipline(discipline_name=discipline_name, discipline_id=discipline_id, - assets=[asset]) + discipline = Discipline(discipline_name=discipline_name, + discipline_id=discipline_id, + assets=[asset]) discipline.save() integration_level = 4 - integration_status = IntegrationStatus(integration_level= - integration_level) + integration_status = IntegrationStatus\ + (integration_level=integration_level) integration_status.save() dev_name = Name(name="Mohit Tahiliani") @@ -3883,26 +4091,39 @@ class TestPersistenceDelegate(TestCase): section = Section(name=name) section.save() - lab1 = Lab(lab_name=lab_name1, lab_id=lab_id1, overview=overview, - institute=inst, discipline=discipline, + phase1=Phase(phase_id=1) + phase1.save() + + lab1 = Lab(lab_name=lab_name1, lab_id=lab_id1, + overview=overview, + institute=inst, + discipline=discipline, hosting_info=[host], assets=[asset], - experiments=[], developers=[dev], sections=[section], + experiments=[], developers=[dev], + sections=[section], phase=[phase1], integration_status=integration_status) lab1.save() lab_name2="Data Structures" lab_id2="CSE02" - lab2 = Lab(lab_name=lab_name2, lab_id=lab_id2, overview=overview, \ - institute=inst, discipline=discipline, assets=[asset],\ - experiments=[], integration_status=integration_status, - developers=[dev], sections=[section], hosting_info=[host]) + lab2 = Lab(lab_name=lab_name2, lab_id=lab_id2, + overview=overview, + institute=inst, + discipline=discipline, + assets=[asset], + experiments=[], + integration_status=integration_status, + developers=[dev], + sections=[section], phase=[phase1], + hosting_info=[host]) lab2.save() - labs_list = self.persistence_delegate.get_labs(lab_id=lab_id1, - lab_name=lab_name1) + labs_list = self.persistence_delegate.\ + get_labs(lab_id=lab_id1, lab_name=lab_name1) - self.assertEqual(labs_list[0].get("lab_id"), lab_id1) + self.assertEqual(labs_list[0].get("lab_id"), + lab_id1) def test_get_lab_with_given_institute(self): print "test_get_lab_with_given_institute" @@ -3920,18 +4141,21 @@ class TestPersistenceDelegate(TestCase): institute_name = "IIT Kanpur" institute_id = "IITK" - inst = Institute(institute_name=institute_name, institute_id=institute_id, assets=[asset]) + inst = Institute(institute_name=institute_name, + institute_id=institute_id, + assets=[asset]) inst.save() discipline_name = "IIT Kanpur" discipline_id = "IITK" - discipline = Discipline(discipline_name=discipline_name, discipline_id=discipline_id, - assets=[asset]) + discipline = Discipline(discipline_name=discipline_name, + discipline_id=discipline_id, + assets=[asset]) discipline.save() integration_level = 4 - integration_status = IntegrationStatus(integration_level= - integration_level) + integration_status = IntegrationStatus\ + (integration_level=integration_level) integration_status.save() dev_name = Name(name="Mohit Tahiliani") @@ -3953,31 +4177,46 @@ class TestPersistenceDelegate(TestCase): section = Section(name=name) section.save() - lab1 = Lab(lab_name=lab_name1, lab_id=lab_id1, overview=overview, - institute=inst, discipline=discipline, + phase1=Phase(phase_id=1) + phase1.save() + + lab1 = Lab(lab_name=lab_name1, lab_id=lab_id1, + overview=overview, + institute=inst, + discipline=discipline, hosting_info=[host], assets=[asset], - experiments=[], developers=[dev], sections=[section], + experiments=[], developers=[dev], + sections=[section], phase=[phase1], integration_status=integration_status) lab1.save() lab_name2="Data Structures" lab_id2="CSE02" - lab2 = Lab(lab_name=lab_name2, lab_id=lab_id2, overview=overview, \ - institute=inst, discipline=discipline, assets=[asset],\ - experiments=[], integration_status=integration_status, - developers=[dev], sections=[section], hosting_info=[host]) + lab2 = Lab(lab_name=lab_name2, lab_id=lab_id2, + overview=overview, + institute=inst, + discipline=discipline, + assets=[asset], + experiments=[], phase=[phase1], + integration_status=integration_status, + developers=[dev], + sections=[section], + hosting_info=[host]) lab2.save() - labs_list = self.persistence_delegate.get_labs(institute=inst) + labs_list = self.persistence_delegate.\ + get_labs(institute=inst) - self.assertEqual(labs_list[0].get("institute").get("institute_id"), - lab1.get("institute").get("institute_id")) + self.assertEqual(labs_list[0].get("institute").\ + get("institute_id"), + lab1.get("institute").\ + get("institute_id")) #+END_SRC -*** Get Institutes +*** Get Institutes This function returns all institutes if present in the database. If institutes are not present, =None= type is returned. #+NAME: persistence_get_institutes @@ -4030,7 +4269,7 @@ class TestPersistenceDelegate(TestCase): #+END_SRC -*** Get HostingInfo +*** Get HostingInfo This function returns hosting_info if present in the database. If the hosting_info is not present, =None= type is returned. #+NAME: persistence_get_hosting_info @@ -4074,7 +4313,7 @@ class TestPersistenceDelegate(TestCase): #+END_SRC -*** Get IntegrationStatus +*** Get IntegrationStatus This function returns integration_status if present in the database. If the integration_status is not present, =None= type is returned. #+NAME: persistence_get_integration_status @@ -4104,7 +4343,7 @@ class TestPersistenceDelegate(TestCase): #+END_SRC -*** Get Assets +*** Get Assets This function returns all assets if present in the database. If assets are not present, =None= type is returned. #+NAME: persistence_get_assets @@ -4150,7 +4389,34 @@ class TestPersistenceDelegate(TestCase): #+END_SRC -*** Get Lab By ID +*** Get Phase + This function returns a phase if present in the database. If the phase is + not present, =None= type is returned. +#+NAME: persistence_get_phase +#+BEGIN_SRC python + def get_phase(self, **kwargs): + return self.get_object(Phase, **kwargs) + +#+END_SRC + +**** Tests +#+NAME: test_persistence_get_phase +#+BEGIN_SRC python + def test_get_phase(self): + print "test_get_phase" + phase1 = Phase(phase_id=1) + phase1.save() + + phase_obj = self.persistence_delegate.get_phase\ + (phase_id=phase1.get("phase_id")) + self.assertEqual(phase_obj.get("phase_id"), + phase1.get("phase_id")) + +#+END_SRC + + + +*** Get Lab By ID This function returns a lab object by an ID if present in database, otherwise, =None= type is returned. #+NAME: persistence_get_lab_by_id @@ -4188,18 +4454,21 @@ class TestPersistenceDelegate(TestCase): institute_name = "IIT Kanpur" institute_id = "IITK" - inst = Institute(institute_name=institute_name, institute_id=institute_id, assets=[asset]) + inst = Institute(institute_name=institute_name, + institute_id=institute_id, + assets=[asset]) inst.save() discipline_name = "IIT Kanpur" discipline_id = "IITK" - discipline = Discipline(discipline_name=discipline_name, discipline_id=discipline_id, - assets=[asset]) + discipline = Discipline(discipline_name=discipline_name, + discipline_id=discipline_id, + assets=[asset]) discipline.save() integration_level = 4 - integration_status = IntegrationStatus(integration_level= - integration_level) + integration_status = IntegrationStatus\ + (integration_level=integration_level) integration_status.save() dev_name = Name(name="Mohit Tahiliani") @@ -4221,10 +4490,16 @@ class TestPersistenceDelegate(TestCase): section = Section(name=name) section.save() - lab = Lab(lab_name=lab_name1, lab_id=lab_id1, overview=overview, - institute=inst, discipline=discipline, + phase1=Phase(phase_id=1) + phase1.save() + + lab = Lab(lab_name=lab_name1, lab_id=lab_id1, + overview=overview, + institute=inst, + discipline=discipline, hosting_info=[host], assets=[asset], - experiments=[], developers=[dev],sections=[section], + experiments=[], developers=[dev], + sections=[section], phase=[phase1], integration_status=integration_status) lab.save() @@ -4237,7 +4512,7 @@ class TestPersistenceDelegate(TestCase): -*** Get Experiment By ID +*** Get Experiment By ID This function returns a experiment object by an ID if present in database, otherwise, =None= type is returned. @@ -4321,7 +4596,7 @@ class TestPersistenceDelegate(TestCase): #+END_SRC -*** Get Institute By ID +*** Get Institute By ID This function returns an institute object by an ID if present in database, otherwise, =None= type is returned. @@ -4367,7 +4642,7 @@ class TestPersistenceDelegate(TestCase): #+END_SRC -*** Get Discipline By ID +*** Get Discipline By ID This function returns an discipline object by an ID if present in database, otherwise, =None= type is returned. @@ -4412,7 +4687,8 @@ class TestPersistenceDelegate(TestCase): #+END_SRC -*** Update Name + +*** Update Name This function updates existing name. #+NAME: persistence_update_name #+BEGIN_SRC python @@ -4522,6 +4798,7 @@ if __name__ == '__main__': <> <> <> +<> <> <> @@ -4561,19 +4838,21 @@ if __name__ == '__main__': <> <> <> +<> <> <> <> <> +<> <> <> <> <> <> - +<> #+end_src @@ -4605,8 +4884,9 @@ if __name__ == '__main__': <> <> <> - +<> <> + <> <> <> @@ -4616,6 +4896,7 @@ if __name__ == '__main__': <> #<> <> +<> <> <> @@ -4654,7 +4935,9 @@ if __name__ == '__main__': <> <> <> +<> +<> <> <> <> diff --git a/src/runtime/system/system-interface.org b/src/runtime/system/system-interface.org index 19563a8..436e899 100755 --- a/src/runtime/system/system-interface.org +++ b/src/runtime/system/system-interface.org @@ -38,6 +38,7 @@ class SystemInterface (): lab_cls = System.delegate.entities['lab'] exp_cls = System.delegate.entities['experiment'] name_cls = System.delegate.entities['name'] + phase_cls = System.delegate.entities['phase'] email_cls = System.delegate.entities['email'] developer_cls = System.delegate.entities['developer'] asset_cls = System.delegate.entities['asset'] @@ -57,6 +58,7 @@ class SystemInterface (): section = System.do("add_section", section=section, session=session) section_obj_list.append(section) + experiments=data_dict['lab']['experiments'] exp_list = [] for e_id in experiments: @@ -91,20 +93,45 @@ class SystemInterface (): for developer_x in developers: name = name_cls(name=developer_x['name']) email = email_cls(email=developer_x['email']) - developer = System.do("get_developer", email=email) + developer = System.do("get_developer", + email=email) if developer is None: - developer = developer_cls(name=name, email=email) - developer = System.do("add_developer", developer=developer, session=session) + developer = developer_cls(name=name, + email=email) + developer = System.do("add_developer", + developer=developer, + session=session) developer_list.append(developer) + phase = data_dict['lab']['phase'] + phase_list = [] + for phase_x in phase: + phase = phase_cls(phase_id=\ + phase_x['phase_id']) + + phase = System.do("get_phase", phase=phase) + if phase is None: + phase = phase_cls(phase_id= + phase_x['phase_id']) + phase = System.do("add_phase", phase=phase, + session=session) + phase_list.append(phase) + hosting_info = data_dict['lab']['hosting_info'] hosting_info_list = [] for hosting_info_x in hosting_info: - hosting_info = System.do("get_hosting_info", hosted_url=hosting_info_x['hosted_url']) + hosting_info = System.do("get_hosting_info", + hosted_url=hosting_info_x['hosted_url']) if hosting_info is None: - hosting_info = hosting_info_cls(hosting_status=str(hosting_info_x['hosting_status']), \ - hosted_url=str(hosting_info_x['hosted_url']), hosted_on=str(hosting_info_x['hosted_on'])) - hosting_info = System.do("add_hosting_info", hosting_info=hosting_info, session=session) + hosting_info = hosting_info_cls\ + (hosting_status=\ + str(hosting_info_x['hosting_status']), \ + hosted_url=str(hosting_info_x\ + ['hosted_url']), + hosted_on=str(hosting_info_x['hosted_on'])) + hosting_info = System.do("add_hosting_info", + hosting_info=hosting_info, + session=session) hosting_info_list.append(hosting_info) lab = lab_cls(lab_name=data_dict['lab']['name'], @@ -116,6 +143,7 @@ class SystemInterface (): assets=asset_list, experiments=exp_list, developers=developer_list, + phase=phase_list, sections=section_obj_list, hosting_info=hosting_info_list) try: @@ -284,6 +312,7 @@ class TestAddLab(TestCase): "overview": "overview", "discipline_id": "CSE", "institute_id": "IITK", + "phase":[{"phase_id":1, "phase_id":2}], "developers": [ { "name": "Dinesh Malviya", @@ -294,6 +323,7 @@ class TestAddLab(TestCase): "email": "abc@gmail.com" } ], + "phase":[{"phase_id":1, "phase_id":2}], "hosting_info": [ { "hosting_status": "hosted", @@ -350,8 +380,9 @@ class TestAddLab(TestCase): 'xyz@gmail.com') self.assertEqual(lab.get("developers")[1].get("email").get("email"), 'abc@gmail.com') - self.assertEqual(lab.get("sections")[0].get("name"), - 'Procedure') + self.assertEqual(str(lab.get("sections")[0].get("name")), + str(data_dict['lab']['sections'][0])) + def test_add_lab_raises_type_error_in_system_interface(self): print "test_add_lab_raises_type_error_in_system_interface" @@ -432,6 +463,7 @@ class TestAddLab(TestCase): "name": "arrays", "discipline_id": "CSE", "institute_id": "IITK", + "phase":[{"phase_id":1, "phase_id":2}], "developers": [ { "name": "Dinesh Malviya", @@ -490,6 +522,7 @@ class TestAddLab(TestCase): "overview": "overview", "discipline_id": "CSE", "institute_id": "IIITH", + "phase":[{"phase_id":1, "phase_id":2}], "developers": [ { "name": "Dinesh Malviya", @@ -1541,12 +1574,17 @@ class TestAddDeveloper(TestCase): session = session_cls(key=data_dict['key']) del(data_dict['key']) + IL = data_dict['integration_level'] - integration_status = integration_status_cls(integration_level=data_dict['integration_level']) + if IL in range(0, 6): + int_status = integration_status_cls(integration_level=IL) + else: + current_app.logger.error("Integration Level= %d is not in range 0 to 6" % IL) + abort(500, "Integration Level is not in range 0 to 6") try: current_app.logger.debug("running operation add_integration_status") - integration_status = System.do("add_integration_status", integration_status=integration_status, + integration_status = System.do("add_integration_status", integration_status=int_status, session=session) current_app.logger.debug("completed operation add_integration_status") return integration_status.to_client() @@ -1772,6 +1810,7 @@ class TestGetLabs(TestCase): "overview": "overview", "discipline_id": "CSE", "institute_id": "IITK", + "phase":[{"phase_id":1, "phase_id":2}], "developers": [ { "name": "Dinesh Malviya", @@ -1825,6 +1864,7 @@ class TestGetLabs(TestCase): "overview": "overview", "discipline_id": "CSE", "institute_id": "IITK", + "phase":[{"phase_id":1, "phase_id":2}], "developers": [ { "name": "Dinesh Malviya", @@ -2006,7 +2046,7 @@ class TestGetLabsByKeywordLabName(TestCase): "key" : KEY, "experiment": { "id": "exp123", - "overview": "overview", + "overview": "overview", "name": "Parallel and distributed processing", "discipline_id": "CSE", "institute_id": "IITK", @@ -2060,6 +2100,8 @@ class TestGetLabsByKeywordLabName(TestCase): 'asset_type': 'image'}, {'path':'vlabs.ac.in/images/static/image.png', 'asset_type': 'image'}], + "phase":[{"phase_id":1, "phase_id":2}], + "phase":[{"phase_id":1, "phase_id":2}], 'developers': [{'name':'Prof. Dharamaja', 'email': 'abc@gmail.com', 'institute_id': 'IITK', 'discipline_id': 'CSE'}, @@ -2084,6 +2126,7 @@ class TestGetLabsByKeywordLabName(TestCase): "overview": "overview", "discipline_id": "CSE", "institute_id": "IITK", + "phase":[{"phase_id":1, "phase_id":2}], "developers": [ { "name": "Dinesh Malviya", @@ -2134,6 +2177,7 @@ class TestGetLabsByKeywordLabName(TestCase): "overview": "overview", "discipline_id": "CSE", "institute_id": "IITK", + "phase":[{"phase_id":1, "phase_id":2}], "developers": [ { "name": "Dinesh Malviya", @@ -2369,6 +2413,7 @@ class TestGetLabsByInstitute(TestCase): "overview": "overview", "discipline_id": "CSE", "institute_id": "IITK", + "phase":[{"phase_id":1, "phase_id":2}], "developers": [ { "name": "Dinesh Malviya", @@ -2423,6 +2468,7 @@ class TestGetLabsByInstitute(TestCase): "overview": "overview", "discipline_id": "CSE", "institute_id": "IITK", + "phase":[{"phase_id":1, "phase_id":2}], "developers": [ { "name": "Dinesh Malviya", @@ -2646,6 +2692,7 @@ class TestGetLabsByDiscipline(TestCase): "overview": "overview", "discipline_id": "CSE", "institute_id": "IITK", + "phase":[{"phase_id":1, "phase_id":2}], "developers": [ { "name": "Dinesh Malviya", @@ -2700,6 +2747,7 @@ class TestGetLabsByDiscipline(TestCase): "overview": "overview", "discipline_id": "CSE", "institute_id": "IITK", + "phase":[{"phase_id":1, "phase_id":2}], "developers": [ { "name": "Dinesh Malviya", @@ -2919,6 +2967,7 @@ class TestGetLabsByLabName(TestCase): "overview": "overview", "discipline_id": "CSE", "institute_id": "IITK", + "phase":[{"phase_id":1, "phase_id":2}], "developers": [ { "name": "Dinesh Malviya", @@ -2972,6 +3021,7 @@ class TestGetLabsByLabName(TestCase): "overview": "overview", "discipline_id": "CSE", "institute_id": "IITK", + "phase":[{"phase_id":1, "phase_id":2}], "developers": [ { "name": "Dinesh Malviya", @@ -3201,6 +3251,7 @@ class TestGetLabsByAssetType(TestCase): "overview": "overview", "discipline_id": "CSE", "institute_id": "IIITH", + "phase":[{"phase_id":1, "phase_id":2}], "developers": [ { "name": "Dinesh Malviya", @@ -3254,6 +3305,7 @@ class TestGetLabsByAssetType(TestCase): "overview": "overview", "discipline_id": "CSE", "institute_id": "IIITH", + "phase":[{"phase_id":1, "phase_id":2}], "developers": [ { "name": "Dinesh Malviya", @@ -3464,6 +3516,7 @@ class TestGetLabsByIntegration_Status(TestCase): "overview": "overview", "discipline_id": "CSE", "institute_id": "IIITH", + "phase":[{"phase_id":1, "phase_id":2}], "developers": [ { "name": "Dinesh Malviya", @@ -3518,6 +3571,7 @@ class TestGetLabsByIntegration_Status(TestCase): "overview": "overview", "discipline_id": "CSE", "institute_id": "IIITH", + "phase":[{"phase_id":1, "phase_id":2}], "developers": [ { "name": "Dinesh Malviya", @@ -4648,6 +4702,7 @@ class TestGetLabById(TestCase): "overview": "overview", "discipline_id": "CSE", "institute_id": "IITK", + "phase":[{"phase_id":1, "phase_id":2}], "developers": [ { "name": "Dinesh Malviya", @@ -4701,6 +4756,7 @@ class TestGetLabById(TestCase): "overview": "overview", "discipline_id": "CSE", "institute_id": "IITK", + "phase":[{"phase_id":1, "phase_id":2}], "developers": [ { "name": "Dinesh Malviya", @@ -5338,6 +5394,7 @@ class TestGetNameById(TestCase): name_cls = System.delegate.entities['name'] email_cls = System.delegate.entities['email'] section_cls = System.delegate.entities['section'] + phase_cls = System.delegate.entities['phase'] session = session_cls(key=data_dict['key']) @@ -5349,102 +5406,142 @@ class TestGetNameById(TestCase): else: lab_name=data_dict['lab']['name'] + + if 'phase' not in data_dict['lab']: + phase_list = lab.get("phase") + else: + phase = data_dict['lab']['phase'] + phase_list = [] + + for phase_x in phase: + phase = phase_cls(phase_id=\ + phase_x['phase_id']) + phase = System.do("get_phase", phase=phase) + if phase is None: + phase = phase_cls(phase_id= + phase_x['phase_id']) + phase = System.do("add_phase", phase=phase, + session=session) + phase_list.append(phase) + + if 'overview' not in data_dict['lab']: overview=str(lab.get("overview")) else: overview=data_dict['lab']['overview'] if 'institute_id' not in data_dict['lab']: - inst=str(lab.get("institute")) + institute = lab.get("institute") else: - inst = System.do("get_institute", institute_id= + institute = System.do("get_institute", institute_id= data_dict['lab']['institute_id']) if 'discipline_id' not in data_dict['lab']: - dis=str(lab.get("discipline")) + discipline = lab.get("discipline") else: - dis = System.do("get_discipline", discipline_id= + discipline = System.do("get_discipline", discipline_id= data_dict['lab']['discipline_id']) if 'integration_level' not in data_dict['lab']: - integration_status=str(lab.get("integration_status")) + integration_status = lab.get("integration_status") else: integration_status = System.do("get_integration_status_by_IL", integration_level=data_dict['lab']['integration_level']) - hosting_info = data_dict['lab']['hosting_info'] - hosting_info_list = [] - for hosting_info_x in hosting_info: - hosting_info = System.do("get_hosting_info", - hosted_url= - hosting_info_x['hosted_url']) - if hosting_info is None: - hosting_info = hosting_info_cls(hosting_status=str(hosting_info_x['hosting_status']), \ - hosted_url=str(hosting_info_x['hosted_url']), hosted_on=str(hosting_info_x['hosted_on'])) - hosting_info = System.do("add_hosting_info", hosting_info=hosting_info, session=session) - hosting_info_list.append(hosting_info) - - assets = data_dict['lab']['assets'] - asset_list = [] - - for asset_x in assets: - asset = System.do("get_asset", path=asset_x['path']) - if asset is None: - asset_type = asset_type_cls(asset_type=\ - str(asset_x['asset_type'])) - asset = asset_cls(asset_type=asset_type, \ - path=str(asset_x['path'])) - asset = System.do("add_asset", asset=asset, session=session) - asset_list.append(asset) - - section_list=[] - for section in data_dict['lab']['sections']: - if 'experiments' in section.keys(): - experiments = section['experiments'] - else: - section_list.append(section['name']) - - section_obj_list=[] - for section_x in section_obj_list: - section = System.do("get_section", name=section_x['name']) - if section is None: - section = section_cls(name=str(section_x['name'])) - section = System.do("add_section", section=section, session=session) - section_obj_list.append(section) - - developers = data_dict['lab']['developers'] - developer_list = [] - for developer_x in developers: - name = name_cls(name=developer_x['name']) - email = email_cls(email=developer_x['email']) - developer = System.do("get_developer", email=email) - if developer is None: - developer = developer_cls(name=name, email=email) - developer = System.do("add_developer", developer=developer, session=session) - developer_list.append(developer) - - experiments = data_dict['lab']['experiments'] - - exp_list = [] - for e_id in experiments: - experiment = System.do("get_experiment", exp_id=e_id) - exp_list.append(experiment) + if 'hosting_info' not in data_dict['lab']: + hosting_info_list = lab.get("hosting_info") + else: + hosting_info = data_dict['lab']['hosting_info'] + hosting_info_list = [] + for hosting_info_x in hosting_info: + hosting_info = System.do("get_hosting_info", + hosted_url= + hosting_info_x['hosted_url']) + if hosting_info is None: + hosting_info = hosting_info_cls\ + (hosting_status=str(hosting_info_x['hosting_status']), \ + hosted_url=str(hosting_info_x['hosted_url']), \ + hosted_on=str(hosting_info_x['hosted_on'])) + hosting_info = System.do("add_hosting_info", + hosting_info=hosting_info, + session=session) + hosting_info_list.append(hosting_info) + + if 'assets' not in data_dict['lab']: + asset_list = lab.get("assets") + else: + assets = data_dict['lab']['assets'] + asset_list = [] + for asset_x in assets: + asset = System.do("get_asset", path=asset_x['path']) + if asset is None: + asset_type = asset_type_cls(asset_type=\ + str(asset_x['asset_type'])) + asset = asset_cls(asset_type=asset_type, \ + path=str(asset_x['path'])) + asset = System.do("add_asset", asset=asset, session=session) + asset_list.append(asset) + + if 'sections' not in data_dict['lab']: + section_obj_list = lab.get("sections") + else: + section_list=[] + for section in data_dict['lab']['sections']: + if 'experiments' in section.keys(): + experiments = section['experiments'] + else: + section_list.append(section['name']) + + section_obj_list=[] + for section_x in section_obj_list: + section = System.do("get_section", name=section_x['name']) + if section is None: + section = section_cls(name=str(section_x['name'])) + section = System.do("add_section", section=section, session=session) + section_obj_list.append(section) + + if 'developers' not in data_dict['lab']: + developer_list = lab.get("developers") + else: + developers = data_dict['lab']['developers'] + developer_list = [] + for developer_x in developers: + name = name_cls(name=developer_x['name']) + email = email_cls(email=developer_x['email']) + developer = System.do("get_developer", email=email) + if developer is None: + developer = developer_cls(name=name, email=email) + developer = System.do("add_developer", developer=developer, + session=session) + developer_list.append(developer) + + if 'experiments' not in data_dict['lab']: + exp_list = lab.get("experiments") + else: + experiments = data_dict['lab']['experiments'] + exp_list = [] + for e_id in experiments: + experiment = System.do("get_experiment", exp_id=e_id) + exp_list.append(experiment) try: current_app.logger.debug("running operation update_lab") lab = System.do("update_lab", lab=lab, lab_name=lab_name, - overview=overview, session=session, - institute=inst, - discipline=dis, + overview=overview, + session=session, + institute=institute, + discipline=discipline, hosting_info=hosting_info_list, assets=asset_list, experiments=exp_list, + phase=phase_list, developers=developer_list, sections=section_obj_list, integration_status=integration_status) current_app.logger.debug("completed operation update_lab") return lab.to_client() + except (ArityError, TypeError, NotAuthorizedError, StateError) as err: current_app.logger.error("Exception = %s" % str(err)) raise err @@ -5594,6 +5691,7 @@ class TestUpdateLab(TestCase): "overview": "overview", "discipline_id": "CSE", "institute_id": "IITK", + "phase":[{"phase_id":1, "phase_id":2}], "developers": [ { "name": "Dinesh Malviya", @@ -5738,6 +5836,7 @@ class TestUpdateLab(TestCase): "overview": "overviewasds", "discipline_id": "CSE", "institute_id": "IITK", + "phase":[{"phase_id":1, "phase_id":2}], "developers": [ { "name": "Dinesh Malviya", @@ -5813,7 +5912,6 @@ class TestUpdateLab(TestCase): #+END_SRC - ** Update Experiment #+NAME: class_update_experiment #+begin_src python @@ -6212,19 +6310,22 @@ class TestUpdateExperiment(TestCase): institute = System.do("get_institute", institute_id=str(data_dict['institute_id'])) - assets = data_dict['assets'] - asset_list = [] - for asset_x in assets: - asset = System.do("get_asset", path=asset_x['path']) - if asset is None: - asset_type = asset_type_cls(asset_type=asset_x['asset_type']) - asset = asset_cls(asset_type=asset_type, \ - path=str(asset_x['path'])) - asset = System.do("add_asset", asset=asset, session=session) - asset_list.append(asset) + if 'assets' not in data_dict: + asset_list = institute.get("assets") + else: + assets = data_dict['assets'] + asset_list = [] + for asset_x in assets: + asset = System.do("get_asset", path=asset_x['path']) + if asset is None: + asset_type = asset_type_cls(asset_type=asset_x['asset_type']) + asset = asset_cls(asset_type=asset_type, \ + path=str(asset_x['path'])) + asset = System.do("add_asset", asset=asset, session=session) + asset_list.append(asset) if 'institute_name' not in data_dict: - institute_name=str(inst.get("institute_name")) + institute_name=str(institute.get("institute_name")) else: institute_name=data_dict['institute_name'] @@ -6298,7 +6399,6 @@ class TestUpdateInstitute(TestCase): data_dict1['assets'][0]['path']) #+END_SRC - ** Update Section #+NAME: class_update_section #+begin_src python @@ -6367,7 +6467,6 @@ class TestUpdateSection(TestCase): #+END_SRC - ** Update Discipline #+NAME: class_update_discipline #+begin_src python @@ -6381,16 +6480,19 @@ class TestUpdateSection(TestCase): discipline_id = str(data_dict['discipline_id']) discipline = System.do("get_discipline", discipline_id=discipline_id) - assets = data_dict['assets'] - asset_list = [] - for asset_x in assets: - asset = System.do("get_asset", path=asset_x['path']) - if asset is None: - asset_type = asset_type_cls(asset_type=asset_x['asset_type']) - asset = asset_cls(asset_type=asset_type, \ - path=str(asset_x['path'])) - asset = System.do("add_asset", asset=asset, session=session) - asset_list.append(asset) + if 'assets' not in data_dict: + asset_list = discipline.get("assets") + else: + assets = data_dict['assets'] + asset_list = [] + for asset_x in assets: + asset = System.do("get_asset", path=asset_x['path']) + if asset is None: + asset_type = asset_type_cls(asset_type=asset_x['asset_type']) + asset = asset_cls(asset_type=asset_type, \ + path=str(asset_x['path'])) + asset = System.do("add_asset", asset=asset, session=session) + asset_list.append(asset) if "discipline_name" not in data_dict: discipline_name=str(discipline.get("discipline_name")) @@ -6464,7 +6566,6 @@ class TestUpdateDiscipline(TestCase): #+END_SRC - ** Update Hosting_Info #+NAME: class_update_hosting_info #+begin_src python @@ -6543,7 +6644,6 @@ class TestUpdateHosting_Info(TestCase): #+END_SRC - ** Update Developer #+NAME: class_update_developer #+begin_src python @@ -6916,6 +7016,7 @@ class TestDeleteLab(TestCase): "overview": "overview", "discipline_id": "CSE", "institute_id": "IITK", + "phase":[{"phase_id":1, "phase_id":2}], "developers": [ { "name": "Dinesh Malviya", @@ -6971,6 +7072,7 @@ class TestDeleteLab(TestCase): "overview": "overview", "discipline_id": "CSE", "institute_id": "IITK", + "phase":[{"phase_id":1, "phase_id":2}], "developers": [ { "name": "Dinesh Malviya", @@ -8042,6 +8144,7 @@ class TestGetLabByLabId(TestCase): "overview": "overview", "discipline_id": "CSE", "institute_id": "IITK", + "phase":[{"phase_id":1, "phase_id":2}], "developers": [ { "name": "Dinesh Malviya", @@ -8096,6 +8199,7 @@ class TestGetLabByLabId(TestCase): "overview": "overview", "discipline_id": "CSE", "institute_id": "IITK", + "phase":[{"phase_id":1, "phase_id":2}], "developers": [ { "name": "Dinesh Malviya", @@ -8265,6 +8369,7 @@ class TestGetExpByExpId(TestCase): "name": "Parallel and distributed processing", "discipline_id": "CSE", "institute_id": "IITK", + "phase":[{"phase_id":1, "phase_id":2}], "developers": [ { "name": "Dinesh Malviya", @@ -8316,6 +8421,7 @@ class TestGetExpByExpId(TestCase): "name": "Parallel and distributed processing", "discipline_id": "CSE", "institute_id": "IITK", + "phase":[{"phase_id":1, "phase_id":2}], "developers": [ { "name": "Dinesh Malviya", @@ -9059,7 +9165,7 @@ class TestGetHosting_Info_by_hosted_url(TestCase): # -*- coding: utf-8 -*- from runtime.system.system import * import datetime -from flask import current_app +from flask import current_app, abort from runtime.config.system_config import KEY #+end_src @@ -9175,7 +9281,7 @@ if __name__ == '__main__': #+BEGIN_SRC python :tangle test_system_interface.py :eval no :noweb yes <> -#<> +<> <> <> <> diff --git a/src/runtime/system/system-with-persistence.org b/src/runtime/system/system-with-persistence.org index 1ea49ae..c60197f 100755 --- a/src/runtime/system/system-with-persistence.org +++ b/src/runtime/system/system-with-persistence.org @@ -48,6 +48,7 @@ class TestAddLab(TestCase): email_cls = System.delegate.entities['email'] developer_cls = System.delegate.entities['developer'] hosting_info_cls = System.delegate.entities['hosting_info'] + phase_cls = System.delegate.entities['phase'] integration_level = 4 integration_status = integration_status_cls(integration_level=integration_level) @@ -60,14 +61,23 @@ class TestAddLab(TestCase): asset = asset_cls(asset_type=asset_type, path=path) asset.save() + phase = phase_cls(phase_id=1) + phase.save() + institute_name = "IIT Kanpur" institute_id = "IITK" - inst = institute_cls(institute_name=institute_name, institute_id=institute_id, assets=[asset]) + inst = institute_cls(institute_name=institute_name, + institute_id=institute_id, + assets=[asset]) inst.save() discipline_name = "IIT Kanpur" discipline_id = "IITK" - discipline = discipline_cls(discipline_name=discipline_name, discipline_id=discipline_id, assets=[asset]) + discipline = discipline_cls(discipline_name=\ + discipline_name, + discipline_id=\ + discipline_id, + assets=[asset]) discipline.save() dev_name = name_cls(name="Mohit Tahiliani") @@ -80,18 +90,26 @@ class TestAddLab(TestCase): hosting_status = "hosted" hosted_url = "http://cse14-iiith.vlabs.ac.in" hosted_on = "cloud" - host = hosting_info_cls(hosting_status=hosting_status, hosted_url=hosted_url, hosted_on=hosted_on) + host = hosting_info_cls(hosting_status=\ + hosting_status, + hosted_url=hosted_url, + hosted_on=hosted_on) host.save() exp_name = "arrays" exp_id = "cse02" overview = "overview" - experiment = experiment_cls(exp_name=exp_name, exp_id=exp_id, - overview=overview, sections=[], - institute=inst, discipline=discipline, - integration_status=integration_status, - assets=[asset], - developers=[dev], hosting_info=[host]) + experiment = experiment_cls(exp_name=exp_name, + exp_id=exp_id, + overview=overview, + sections=[], + institute=inst, + discipline=discipline, + integration_status=\ + integration_status, + assets=[asset], + developers=[dev], + hosting_info=[host]) experiment.save() lab_name1="Computer Programming" @@ -103,12 +121,20 @@ class TestAddLab(TestCase): section = section_cls(name=name) section.save() - lab = lab_cls(lab_id=lab_id1, lab_name=lab_name1, - institute=inst, discipline=discipline, assets=[asset], - overview=overview, integration_status=integration_status, - experiments=[experiment], sections=[section], developers=[dev], hosting_info=[host]) - - lab1 = System.do("add_lab", lab=lab, session=session) + lab = lab_cls(lab_id=lab_id1, lab_name=lab_name1, + institute=inst, + discipline=discipline, + assets=[asset], + overview=overview, + integration_status=integration_status, + experiments=[experiment], + sections=[section], + developers=[dev], + phase=[phase], + hosting_info=[host]) + + lab1 = System.do("add_lab", lab=lab, + session=session) new_lab = lab_cls.get_by_id(1) self.assertEqual(new_lab.get("lab_name"), lab_name1) self.assertEqual(new_lab.get("lab_id"), lab_id1) @@ -415,6 +441,7 @@ class TestAddLabsToInstitute(TestCase): session_cls = System.delegate.entities['session'] lab_cls = System.delegate.entities['lab'] institute_cls = System.delegate.entities['institute'] + phase_cls = System.delegate.entities['phase'] asset_type = asset_type_cls(asset_type="Image") asset_type.save() @@ -423,6 +450,9 @@ class TestAddLabsToInstitute(TestCase): asset = asset_cls(asset_type=asset_type, path=path) asset.save() + phase = phase_cls(phase_id=1) + phase.save() + institute_name = "arrays" institute_id = "cse02" institute = institute_cls(institute_name=institute_name, institute_id=institute_id, assets=[asset]) @@ -515,6 +545,38 @@ class TestAddName(TestCase): #+END_SRC +* Test Addphase_cls +#+NAME: test_add_phase +#+BEGIN_SRC python +class TestAddphase_cls(TestCase): + TESTING = True + + def create_app(self): + app = create_app(config) + return app + + def setUp(self): + db.create_all() + + def tearDown(self): + db.session.remove() + db.drop_all() + + def test_add_phase_in_system_persistence(self): + + print "test_add_phase_in_system_persistence" + session_cls = System.delegate.entities['session'] + phase_cls = System.delegate.entities['phase'] + + phase = phase_cls(phase_id=1) + session = session_cls(key=KEY) + phase = System.do("add_phase", phase=phase, session=session) + new_phase = phase_cls.get_by_id(1) + self.assertEqual(new_phase.get("phase_id"), 1) + +#+END_SRC + + * Test AddEmail #+NAME: test_add_email #+BEGIN_SRC python @@ -663,7 +725,7 @@ class TestAddIntegration_Status(TestCase): * Test UpdateLab #+NAME: test_update_lab #+BEGIN_SRC python -class TestUpdateLabt(TestCase): +class TestUpdateLab(TestCase): TESTING = True def create_app(self): @@ -694,34 +756,47 @@ class TestUpdateLabt(TestCase): experiment_cls = System.delegate.entities['experiment'] discipline_cls = System.delegate.entities['discipline'] lab_cls = System.delegate.entities['lab'] + phase_cls = System.delegate.entities['phase'] session = session_cls(key=KEY) asset_type = asset_type_cls(asset_type="Image") asset_type.save() + phase = phase_cls(phase_id=1) + phase.save() + path = "vlabs.ac.in/images/static/logo.png" asset = asset_cls(asset_type=asset_type, path=path) asset.save() institute_name = "IIT Kanpur" institute_id = "IITK" - inst = institute_cls(institute_name=institute_name, institute_id=institute_id, assets=[asset]) + inst = institute_cls(institute_name=institute_name, + institute_id=institute_id, assets=[asset]) inst.save() integration_level = 4 - integration_status = integration_status_cls(integration_level=integration_level) + integration_status = integration_status_cls\ + (integration_level=integration_level) integration_status.save() hosting_status = "hosted" hosted_url = "http://cse14-iiith.vlabs.ac.in" hosted_on = "cloud" - host = hosting_info_cls(hosting_status=hosting_status, hosted_url=hosted_url, hosted_on=hosted_on) + host = hosting_info_cls(hosting_status=\ + hosting_status, + hosted_url=hosted_url, + hosted_on=hosted_on) host.save() discipline_name = "IIT Kanpur" discipline_id = "IITK" - discipline = discipline_cls(discipline_name=discipline_name, discipline_id=discipline_id, assets=[asset]) + discipline = discipline_cls(discipline_name=\ + discipline_name, + discipline_id=\ + discipline_id, + assets=[asset]) discipline.save() dev_name = name_cls(name="Mohit Tahiliani") @@ -734,12 +809,17 @@ class TestUpdateLabt(TestCase): exp_name = "arrays" exp_id = "cse02" overview = "overview" - experiment = experiment_cls(exp_name=exp_name, exp_id=exp_id, - overview=overview, sections=[], - institute=inst, discipline=discipline, - integration_status=integration_status, - assets=[asset], - developers=[dev], hosting_info=[host]) + experiment = experiment_cls(exp_name=exp_name, + exp_id=exp_id, + overview=overview, + sections=[], + institute=inst, + discipline=discipline, + integration_status=\ + integration_status, + assets=[asset], + developers=[dev], + hosting_info=[host]) experiment.save() lab_name = "Computer Programming" @@ -749,11 +829,17 @@ class TestUpdateLabt(TestCase): section = section_cls(name=name) section.save() lab = lab_cls(lab_id=lab_id, lab_name=lab_name, - institute=inst, discipline=discipline, - assets=[asset], overview=overview, - integration_status=integration_status, - experiments=[experiment], developers=[dev], - hosting_info=[host], sections=[section]) + institute=inst, + discipline=discipline, + assets=[asset], + overview=overview, + integration_status=\ + integration_status, + phase=[phase], + experiments=[experiment], + developers=[dev], + hosting_info=[host], + sections=[section]) lab.save() lab_name1 = "two dimentional arrays" @@ -763,21 +849,33 @@ class TestUpdateLabt(TestCase): asset_type1.save() path1 = "vlabs.ac.in/images/video/icon.png" - asset1 = asset_cls(asset_type=asset_type1, path=path1) + asset1 = asset_cls(asset_type=asset_type1, + path=path1) asset1.save() institute_name1 = "IIT Kharagpur" institute_id1 = "IITKgp" - inst1 = institute_cls(institute_name=institute_name1, institute_id=institute_id1, assets=[asset]) + inst1 = institute_cls(institute_name= + institute_name1, + institute_id=institute_id1, + assets=[asset]) inst1.save() + phase1 = phase_cls(phase_id=2) + phase1.save() + discipline_name1 = "Computer Science & Engineering" discipline_id1 = "CSE02" - discipline1 = discipline_cls(discipline_name=discipline_name1, discipline_id=discipline_id1, assets=[asset]) + discipline1 = discipline_cls(discipline_name=\ + discipline_name1, + discipline_id=\ + discipline_id1, + assets=[asset]) discipline1.save() integration_level1 = 2 - integration_status1 = integration_status_cls(integration_level=integration_level1) + integration_status1 = integration_status_cls\ + (integration_level=integration_level1) integration_status1.save() dev_name1 = name_cls(name="pallavi pawar") @@ -790,19 +888,26 @@ class TestUpdateLabt(TestCase): hosting_status1 = "hosted" hosted_url1 = "http://cse13-iiith.vlabs.ac.in" hosted_on1 = "cloud" - host1 = hosting_info_cls(hosting_status=hosting_status1, - hosted_url=hosted_url1, hosted_on=hosted_on1) + host1 = hosting_info_cls(hosting_status=\ + hosting_status1, + hosted_url=hosted_url1, + hosted_on=hosted_on1) host1.save() exp_name1 = "Computer Programming" overview1 = "overveiw exp" exp_id1 = "cse03" - experiment1 = experiment_cls(exp_name=exp_name1, exp_id=exp_id1, - overview=overview1, sections=[], - institute=inst1, discipline=discipline1, - integration_status=integration_status1, - assets=[asset1], - developers=[dev1], hosting_info=[host1]) + experiment1 = experiment_cls(exp_name=exp_name1, + exp_id=exp_id1, + overview=overview1, + sections=[], + institute=inst1, + discipline=discipline1, + integration_status=\ + integration_status1, + assets=[asset1], + developers=[dev1], \ + hosting_info=[host1]) experiment1.save() dev_name1 = name_cls(name="Tahiliani") @@ -812,29 +917,46 @@ class TestUpdateLabt(TestCase): dev1 = developer_cls(name=dev_name1, email=email_id1) dev1.save() - lab1 = System.do("update_lab", lab=lab, lab_name=lab_name1, - overview=overview1, institute=inst1, - discipline=discipline1, hosting_info=[host1], - integration_status=integration_status1, - session=session, developers=[dev1], - assets=[asset1], sections=[section], experiments=[experiment1]) + lab1 = System.do("update_lab", lab=lab, + lab_name=lab_name1, + overview=overview1, + institute=inst1, + discipline=discipline1, + hosting_info=[host1], + integration_status=\ + integration_status1, + session=session, + developers=[dev1], + phase=[phase, phase1], + assets=[asset1], + sections=[section], + experiments=[experiment1]) new_lab = lab_cls.get_by_id(1) self.assertEqual(new_lab.get("lab_name"), lab_name1) self.assertEqual(new_lab.get("overview"), overview1) self.assertEqual(new_lab.get("lab_id"), lab_id) - self.assertEqual(new_lab.get("institute").get("institute_id"), institute_id1) - self.assertEqual(new_lab.get("discipline").get("discipline_id"), discipline_id1) + self.assertEqual(new_lab.get("institute").\ + get("institute_id"), + institute_id1) + self.assertEqual(new_lab.get("discipline").\ + get("discipline_id"), + discipline_id1) self.assertEqual(new_lab.get("integration_status"). - get("integration_level"), integration_level1) - self.assertEqual(new_lab.get("hosting_info")[0].get("hosted_url"), + get("integration_level"), + integration_level1) + self.assertEqual(new_lab.get("hosting_info")[0].\ + get("hosted_url"), hosted_url1) - self.assertEqual(new_lab.get("developers")[0].get("email").get("email"), + self.assertEqual(new_lab.get("developers")[0].\ + get("email").get("email"), email_id1.get("email")) - self.assertEqual(new_lab.get("assets")[0].get("path"), + self.assertEqual(new_lab.get("assets")[0].\ + get("path"), path1) - self.assertEqual(new_lab.get("experiments")[0].get("exp_id"), + self.assertEqual(new_lab.get("experiments")[0].\ + get("exp_id"), experiment1.get("exp_id")) #+END_SRC @@ -1491,6 +1613,45 @@ class TestDeleteName(TestCase): #+END_SRC +* Test Deletephase_cls +#+NAME: test_delete_phase +#+BEGIN_SRC python +class TestDeletephase_cls(TestCase): + + TESTING = True + + def create_app(self): + app = create_app(config) + return app + + def setUp(self): + db.create_all() + + def tearDown(self): + db.session.remove() + db.drop_all() + + def test_delete_phase(self): + print "test_delete_phase_in_system_persistence" + session_cls = System.delegate.entities['session'] + phase_cls = System.delegate.entities['phase'] + + key = KEY + session = session_cls(key=key) + phase1 = phase_cls(phase_id=1) + phase1.save() + + phase2 = phase_cls(phase_id=2) + phase2.save() + + phase = System.do("delete_phase", phase_id=1, + session=session) + + self.assertEqual(len(phase_cls.get_all()), 1) + +#+END_SRC + + * Test DeleteLab #+NAME: test_delete_lab #+BEGIN_SRC python @@ -1524,9 +1685,11 @@ class TestDeleteLab(TestCase): email_cls = System.delegate.entities['email'] developer_cls = System.delegate.entities['developer'] hosting_info_cls = System.delegate.entities['hosting_info'] + phase_cls = System.delegate.entities['phase'] integration_level = 4 - integration_status = integration_status_cls(integration_level=integration_level) + integration_status = integration_status_cls\ + (integration_level=integration_level) integration_status.save() asset_type = asset_type_cls(asset_type="Image") @@ -1536,14 +1699,23 @@ class TestDeleteLab(TestCase): asset = asset_cls(asset_type=asset_type, path=path) asset.save() + phase = phase_cls(phase_id=1) + phase.save() + institute_name = "IIT Kanpur" institute_id = "IITK" - inst = institute_cls(institute_name=institute_name, institute_id=institute_id, assets=[asset]) + inst = institute_cls(institute_name=institute_name, + institute_id=institute_id, + assets=[asset]) inst.save() discipline_name = "IIT Kanpur" discipline_id = "IITK" - discipline = discipline_cls(discipline_name=discipline_name, discipline_id=discipline_id, assets=[asset]) + discipline = discipline_cls(discipline_name=\ + discipline_name, + discipline_id=\ + discipline_id, + assets=[asset]) discipline.save() dev_name = name_cls(name="Mohit Tahiliani") @@ -1556,18 +1728,26 @@ class TestDeleteLab(TestCase): hosting_status = "hosted" hosted_url = "http://cse14-iiith.vlabs.ac.in" hosted_on = "cloud" - host = hosting_info_cls(hosting_status=hosting_status, hosted_url=hosted_url, hosted_on=hosted_on) + host = hosting_info_cls(hosting_status=\ + hosting_status, + hosted_url=hosted_url, + hosted_on=hosted_on) host.save() exp_name = "arrays" exp_id = "cse02" overview = "overview" - experiment = experiment_cls(exp_name=exp_name, exp_id=exp_id, - overview=overview, sections=[], - institute=inst, discipline=discipline, - integration_status=integration_status, + experiment = experiment_cls(exp_name=exp_name, + exp_id=exp_id, + overview=overview, + sections=[], + institute=inst, + discipline=discipline, + integration_status=\ + integration_status, assets=[asset], - developers=[dev], hosting_info=[host]) + developers=[dev], \ + hosting_info=[host]) experiment.save() @@ -1581,10 +1761,14 @@ class TestDeleteLab(TestCase): section.save() lab = lab_cls(lab_id=lab_id1, lab_name=lab_name1, - institute=inst, discipline=discipline, assets=[asset], - overview=overview, integration_status=integration_status, - experiments=[experiment], developers=[dev], - hosting_info=[host], sections=[section]) + institute=inst, discipline=discipline, + assets=[asset], phase=[phase], + overview=overview, + integration_status=integration_status, + experiments=[experiment], + developers=[dev], + hosting_info=[host], + sections=[section]) lab.save() lab_id = System.do("delete_lab", lab_id = lab_id1, session=session) @@ -1849,6 +2033,7 @@ class TestGetLab(TestCase): developer_cls = System.delegate.entities['developer'] hosting_info_cls = System.delegate.entities['hosting_info'] asset_type_cls = System.delegate.entities['asset_type'] + phase_cls = System.delegate.entities['phase'] lab_name1="Computer Programming" lab_id1="CSE01" @@ -1861,18 +2046,27 @@ class TestGetLab(TestCase): asset = asset_cls(asset_type=asset_type, path=path) asset.save() + phase = phase_cls(phase_id=1) + phase.save() + institute_name = "IIT Kanpur" institute_id = "IITK" - inst = institute_cls(institute_name=institute_name, institute_id=institute_id, assets=[asset]) + inst = institute_cls(institute_name=institute_name, + institute_id=institute_id, + assets=[asset]) inst.save() integration_level = 4 - integration_status = integration_status_cls(integration_level=integration_level) + integration_status = integration_status_cls\ + (integration_level=integration_level) integration_status.save() discipline_name = "computer science" discipline_id = "cse" - discipline = discipline_cls(discipline_name=discipline_name, discipline_id=discipline_id, assets=[asset]) + discipline = discipline_cls(discipline_name=\ + discipline_name, + discipline_id=discipline_id, + assets=[asset]) discipline.save() dev_name = name_cls(name="Mohit Tahiliani") @@ -1885,8 +2079,10 @@ class TestGetLab(TestCase): hosting_status = "hosted" hosted_url = "http://cse14-iiith.vlabs.ac.in" hosted_on = "cloud" - host = hosting_info_cls(hosting_status=hosting_status, - hosted_url=hosted_url, hosted_on=hosted_on) + host = hosting_info_cls(hosting_status=\ + hosting_status, + hosted_url=hosted_url, + hosted_on=hosted_on) host.save() name="Theory" @@ -1894,9 +2090,16 @@ class TestGetLab(TestCase): section.save() lab = lab_cls(lab_id=lab_id1, lab_name=lab_name1, - institute=inst, discipline=discipline, assets=[asset], - overview=overview, experiments=[], developers=[dev], - hosting_info=[host], sections=[section], integration_status=integration_status) + institute=inst, + discipline=discipline, + assets=[asset], + overview=overview, + experiments=[], developers=[dev], + hosting_info=[host], + sections=[section], + phase=[phase], + integration_status=\ + integration_status) lab.save() @@ -1940,6 +2143,7 @@ class TestGetLabByInstitute(TestCase): developer_cls = System.delegate.entities['developer'] hosting_info_cls = System.delegate.entities['hosting_info'] asset_type_cls = System.delegate.entities['asset_type'] + phase_cls = System.delegate.entities['phase'] lab_name1="Computer Programming" lab_id1="CSE01" @@ -1948,6 +2152,9 @@ class TestGetLabByInstitute(TestCase): asset_type = asset_type_cls(asset_type="Image") asset_type.save() + phase = phase_cls(phase_id=1) + phase.save() + path = "vlabs.ac.in/images/static/logo.png" asset = asset_cls(asset_type=asset_type, path=path) asset.save() @@ -1982,9 +2189,12 @@ class TestGetLabByInstitute(TestCase): section = section_cls(name=name) section.save() lab = lab_cls(lab_id=lab_id1, lab_name=lab_name1, - institute=inst, discipline=discipline, sections=[section], assets=[asset], - overview=overview, experiments=[], integration_status=integration_status, - hosting_info=[host], developers=[dev]) + institute=inst, discipline=discipline, + sections=[section], assets=[asset], + overview=overview, experiments=[], + integration_status=integration_status, + phase=[phase], + hosting_info=[host], developers=[dev]) lab.save() @@ -2028,6 +2238,7 @@ class TestGetLabByDiscipline(TestCase): email_cls = System.delegate.entities['email'] developer_cls = System.delegate.entities['developer'] hosting_info_cls = System.delegate.entities['hosting_info'] + phase_cls = System.delegate.entities['phase'] lab_name1="Computer Programming" lab_id1="CSE01" @@ -2067,11 +2278,16 @@ class TestGetLabByDiscipline(TestCase): host = hosting_info_cls(hosting_status=hosting_status, hosted_url=hosted_url, hosted_on=hosted_on) host.save() name="Theory" + section=section_cls(name=name) section.save() + + phase = phase_cls(phase_id=1) + phase.save() + lab = lab_cls(lab_id=lab_id1, lab_name=lab_name1, institute=inst, discipline=discipline, sections=[section], - hosting_info=[host], assets=[asset], + hosting_info=[host], assets=[asset], phase=[phase], overview=overview, experiments=[], developers=[dev], integration_status=integration_status) @@ -2118,11 +2334,15 @@ class TestGetLabByLabName(TestCase): email_cls = System.delegate.entities['email'] developer_cls = System.delegate.entities['developer'] hosting_info_cls = System.delegate.entities['hosting_info'] + phase_cls = System.delegate.entities['phase'] lab_name1="Computer Programming" lab_id1="CSE01" overview = "overview" + phase = phase_cls(phase_id=1) + phase.save() + asset_type = asset_type_cls(asset_type="Image") asset_type.save() @@ -2161,9 +2381,9 @@ class TestGetLabByLabName(TestCase): section = section_cls(name=name) section.save() lab = lab_cls(lab_id=lab_id1, lab_name=lab_name1, - integration_status=integration_status, + integration_status=integration_status, phase=[phase], institute=inst, discipline=discipline, sections=[section], - hosting_info=[host], assets=[asset], + hosting_info=[host], assets=[asset], overview=overview, experiments=[], developers=[dev]) @@ -2203,11 +2423,15 @@ class TestGetLabByAsset(TestCase): asset_cls = System.delegate.entities['asset'] asset_type_cls = System.delegate.entities['asset_type'] integration_status_cls = System.delegate.entities['integration_status'] + phase_cls = System.delegate.entities['phase'] lab_name1="Computer Programming" lab_id1="CSE01" overview = "overview" + phase = phase_cls(phase_id=1) + phase.save() + asset_type = asset_type_cls(asset_type="Image") asset_type.save() @@ -2243,7 +2467,7 @@ class TestGetLabByAsset(TestCase): hosted_url=hosted_url, hosted_on=hosted_on) host.save() - lab = lab_cls(lab_id=lab_id1, lab_name=lab_name1, + lab = lab_cls(lab_id=lab_id1, lab_name=lab_name1, phase=[phase], integration_status=integration_status, institute=inst, discipline=discipline, hosting_info=[host], assets=[asset], @@ -2327,12 +2551,47 @@ class TestGetName(TestCase): name.save() - name2 = System.do("get_name", name=name, session=session) + name2 = System.do("get_name", name=name) self.assertEqual(name2.get("name"), name1) #+END_SRC +* Test Getphase_cls +#+NAME: test_get_phase +#+BEGIN_SRC python +class TestGetphase_cls(TestCase): + TESTING = True + + def create_app(self): + app = create_app(config) + return app + + def setUp(self): + db.create_all() + + def tearDown(self): + db.session.remove() + db.drop_all() + + def test_get_phase(self): + + print "test_get_phase_in_system_persistence" + session_cls = System.delegate.entities['session'] + phase_cls = System.delegate.entities['phase'] + + key = KEY + session = session_cls(key=key) + phase = phase_cls(phase_id=1) + phase.save() + + phase = System.do("get_phase", phase=phase) + + self.assertEqual(phase.get("phase_id"), 1) + +#+END_SRC + + * Test GetExperiment #+NAME: test_get_exp #+BEGIN_SRC python @@ -2450,7 +2709,7 @@ class TestGetEmail(TestCase): email.save() - email2 = System.do("get_email", email=email, session=session) + email2 = System.do("get_email", email=email) self.assertEqual(email2.get("email"), email1) @@ -2877,7 +3136,7 @@ class TestAddAssetsToLab(TestCase): asset_type_cls = System.delegate.entities['asset_type'] experiment_cls = System.delegate.entities['experiment'] integration_status_cls = System.delegate.entities['integration_status'] - + phase_cls = System.delegate.entities['phase'] integration_level = 4 integration_status = integration_status_cls(integration_level=integration_level) integration_status.save() @@ -2889,6 +3148,9 @@ class TestAddAssetsToLab(TestCase): asset = asset_cls(asset_type=asset_type, path=path) asset.save() + phase = phase_cls(phase_id=1) + phase.save() + institute_name = "IIT Kanpur" institute_id = "IITK" inst = institute_cls(institute_name=institute_name, institute_id=institute_id, assets=[asset]) @@ -2915,9 +3177,14 @@ class TestAddAssetsToLab(TestCase): name="Theory" section = section_cls(name=name) section.save() - lab = lab_cls(lab_id=lab_id1, lab_name=lab_name1, - institute=inst, discipline=discipline, assets=[asset], - overview=overview, sections=[section], integration_status=integration_status, + lab = lab_cls(lab_id=lab_id1, lab_name=lab_name1, + phase=[phase], + institute=inst, + discipline=discipline, + assets=[asset], + overview=overview, + sections=[section], + integration_status=integration_status, experiments=[experiment]) lab.save() @@ -2969,7 +3236,7 @@ class TestGetName(TestCase): name.save() - name2 = System.do("get_section", name=name, session=session) + name2 = System.do("get_section", name=name) self.assertEqual(name2.get("name"), name1) #+END_SRC @@ -3052,6 +3319,7 @@ if __name__ == '__main__': <> <> <> +<> <> <> <> @@ -3059,6 +3327,7 @@ if __name__ == '__main__': <> <> <> +<> <> <> <> @@ -3084,6 +3353,7 @@ if __name__ == '__main__': <> <> <> +<> <> #+end_src diff --git a/src/runtime/system/system.org b/src/runtime/system/system.org index 9c7d31a..e4f0011 100755 --- a/src/runtime/system/system.org +++ b/src/runtime/system/system.org @@ -432,6 +432,35 @@ class AddName(): #+end_src +** =AddPhase= +#+NAME: class_add_phase +#+begin_src python +class AddPhase(): + arg_types = {"phase": is_phase, "session": is_session} + arity_and_type_checks_needed = True + + @staticmethod + def auth_check(args): + session = args['session'] + if not System.is_session_valid(session): + raise NotAuthorizedError("Not Authorized to perform this action") + + @staticmethod + def state_check(args): + phase = args["phase"] + if System.delegate.phase_exists(phase): + raise StateError("phase %s already exists in System" + % phase.to_client()) + + @staticmethod + def action(args): + phase = args["phase"] + phase = System.delegate.add_phase(phase) + return phase + +#+end_src + + ** =AddEmail= #+NAME: class_add_email #+begin_src python @@ -532,10 +561,13 @@ class UpdateLab(): "sections" : are_sections, "institute" : is_institute, "discipline" : is_discipline, + "phase": are_phase, "hosting_info": are_hosting_info, "developers": are_developers, - "assets": are_assets, "experiments":are_experiments, - "integration_status" : is_integration_status} + "assets": are_assets, + "experiments":are_experiments, + "integration_status" : \ + is_integration_status} arity_and_type_checks_needed = True @@ -565,16 +597,20 @@ class UpdateLab(): assets = args["assets"] experiments = args["experiments"] sections = args["sections"] - lab = System.delegate.update_lab(lab, lab_name, overview, institute, - discipline, sections, integration_status, - hosting_info, developers, assets, - experiments) + phase = args["phase"] + lab = System.delegate.update_lab(lab, lab_name, + overview, institute, + discipline, + sections, + integration_status, + hosting_info, + developers, assets, + experiments, phase) return lab #+end_src - ** =UpdateExperiment= #+NAME: class_update_experiment #+begin_src python @@ -1046,6 +1082,37 @@ class DeleteName(): +** =DeletePhase= +#+NAME: class_delete_phase +#+begin_src python +class DeletePhase(): + arg_types = {"phase_id": is_int, "session": is_session} + arity_and_type_checks_needed = True + + @staticmethod + def auth_check(args): + session = args['session'] + if not System.is_session_valid(session): + raise NotAuthorizedError("Not Authorized to perform this action") + + @staticmethod + def state_check(args): + phase_id = args['phase_id'] + phase = System.delegate.get_phase(phase_id=phase_id) + if not System.delegate.phase_exists(phase): + raise StateError("phase with phase_id=%d" + " does not exists in System" + % phase_id) + @staticmethod + def action(args): + phase_id = args["phase_id"] + phase_id = System.delegate.delete_phase(phase_id) + return phase_id + +#+end_src + + + ** =DeleteEmail= #+NAME: class_delete_email #+begin_src python @@ -1532,18 +1599,13 @@ class AddSectionsToExperiment(): #+NAME: class_get_name #+begin_src python class GetName(): - arg_types = {"name": is_name, "session": is_session} + arg_types = {"name": is_name} arity_and_type_checks_needed = True @staticmethod def auth_check(args): - session = args['session'] - current_app.logger.debug("checking authorization") - if not System.is_session_valid(session): - current_app.logger.debug("authorization is failed") - raise NotAuthorizedError("Not Authorized to perform this action") - current_app.logger.debug("authorization check is done") + pass @staticmethod def state_check(args): @@ -1559,22 +1621,43 @@ class GetName(): +** =GetPhase= +#+NAME: class_get_phase +#+begin_src python +class GetPhase(): + arg_types = {"phase": is_phase} + + arity_and_type_checks_needed = True + + @staticmethod + def auth_check(args): + pass + + @staticmethod + def state_check(args): + pass + + @staticmethod + def action(args): + phase = args["phase"] + phase = System.delegate.get_phase\ + (phase_id=phase.get("phase_id")) + return phase + +#+end_src + + ** =GetEmail= #+NAME: class_get_email #+begin_src python class GetEmail(): - arg_types = {"email": is_email, "session": is_session} + arg_types = {"email": is_email} arity_and_type_checks_needed = True @staticmethod def auth_check(args): - session = args['session'] - current_app.logger.debug("checking authorization") - if not System.is_session_valid(session): - current_app.logger.debug("authorization is failed") - raise NotAuthorizedError("Not Authorized to perform this action") - current_app.logger.debug("authorization check is done") + pass @staticmethod def state_check(args): @@ -1993,7 +2076,10 @@ ops_table = {'add_lab' : AddLab, 'get_section': GetSection, 'update_name': UpdateName, 'get_labs_by_asset': GetLabsByAsset, - 'get_asset_by_asset_type': GetAssetByAssetType + 'get_asset_by_asset_type': GetAssetByAssetType, + 'add_phase' : AddPhase, + 'delete_phase': DeletePhase, + 'get_phase': GetPhase, } #+END_SRC @@ -2008,13 +2094,16 @@ ops_table = {'add_lab' : AddLab, # -*- coding: utf-8 -*- from runtime.exceptions.custom_exceptions import * -from runtime.objects.entities import is_str, is_lab, are_labs,\ - is_date, is_session, is_section, is_int, is_experiment,\ - are_experiments, are_sections, is_name, is_email, is_developer,\ - is_institute, are_institutes, is_discipline, are_disciplines,\ - is_url, is_hosting_info, is_integration_status, is_asset, are_assets,\ - is_asset_type, are_hosting_info, are_developers - +from runtime.objects.entities import is_str, is_lab,\ + are_labs, is_experiment, is_developer,\ + are_disciplines, is_asset, are_assets,\ + is_date, is_session, is_section, is_int,\ + are_experiments, are_sections, is_name, is_email, \ + is_institute, are_institutes, is_discipline, \ + is_url, is_hosting_info, is_integration_status,\ + is_asset_type, are_hosting_info, are_developers,\ + is_phase, are_phase + from runtime.utils.type_utils import is_str_or_none from runtime.config.system_config import KEY import datetime @@ -2059,30 +2148,47 @@ if __name__ == '__main__': <> <> <> -<> + <> <> <> -<> +<> <> +<> +<> +<> +<> +<> +<> +<> + +<> <> <> -<> -<> <> -<> <> -<> <> +<> +<> +<> +<> + +<> <> <> +<> <> -<> -<> -<> -<> -<> +<> +<> +<> <> +<> +<> +<> +<> +<> +<> + <> <> <> @@ -2090,31 +2196,22 @@ if __name__ == '__main__': <> <> <> +<> +<> +<> +<> +<> + <> <> <> -<> -<> -<> -<> -<> -<> -<> <> <> <> -<> -<> -<> -<> -<> -<> -<> -<> <> <> -<> +<> #+end_src From 0bb6a0fd6927c31a8c4f77214863edc0e47242f8 Mon Sep 17 00:00:00 2001 From: obliviateandsurrender Date: Thu, 26 Oct 2017 21:05:13 +0530 Subject: [PATCH 044/105] Fixed LDS Rest Layer and System Testing --- src/runtime/rest/api.org | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/src/runtime/rest/api.org b/src/runtime/rest/api.org index 0a1fce1..3472b2f 100755 --- a/src/runtime/rest/api.org +++ b/src/runtime/rest/api.org @@ -15,14 +15,11 @@ * REST -** Pagination support for Get request +** Pagination support for Get Request *** Function Design -- This function will allow us to enable pagination of our REST APIs i.e. it will send as many number of objects as the user wants to see and not all the objects together. It is supposed to take in four arguments that will be total object list provied along with the starting integer and a limiting integer. -- The starting integer denotes the number of the object from which the user wants to start the display. -- The limiting integer specifies the maximum number of objects the user wants to display on a particular page and if nothing is specified as the limiting integer then, 25 is taken as the default value. -- The function uses a variable "count" to represent the total number of objects being displayed on a particular page. -- The function checks for different conditions on "count" and accordingly displays the previous and the next page links. -- The response is stored and returned as a jsonified object. +- This function will allow us to enable pagination of out REST APIs. It is supposed to take in four arguments that will be total object list + provied along with the starting integer and a limiting integer. +- This is supposed to check for size conditions and generate a previous data and next available data link too. *** Function Definition #+NAME: pagination From 15ddeaa59687bfe9b905618e926f3317e1c82bfa Mon Sep 17 00:00:00 2001 From: madhavi Date: Fri, 27 Oct 2017 16:16:54 +0530 Subject: [PATCH 045/105] add mysql backup location in development environment document --- src/deployment/run-lds-in-development-environment.org | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/src/deployment/run-lds-in-development-environment.org b/src/deployment/run-lds-in-development-environment.org index 6cffefe..678cf7f 100755 --- a/src/deployment/run-lds-in-development-environment.org +++ b/src/deployment/run-lds-in-development-environment.org @@ -21,8 +21,15 @@ #+END_EXAMPLE Exit out of the mysql console - - + - Get the mysql dump file for the given version from + [[files.vlabs.ac.in/lds]] + #+BEGIN_EXAMPLE + wget http://files.vlabs.ac.in/lds/lds-v2.0.0-2017-09-07.sql + #+END_EXAMPLE + - Restore Dump in Database +#+BEGIN_EXAMPLE +mysql -u root -p$DB_PASS $DB_NAME < $DB_NAME.sql +#+END_EXAMPLE * Creation of Virtual Environment + Create Virtual Environemnt in the =lab-data-service= directory From 8005ff9f9597350283e6f2db9acb172436a49d43 Mon Sep 17 00:00:00 2001 From: madhavi Date: Fri, 27 Oct 2017 17:21:25 +0530 Subject: [PATCH 046/105] add versions for packages --- scripts/labspec.json | 5 +++-- src/deployment/index.org | 38 ++++++++++++++++++++++++++++++++++++-- 2 files changed, 39 insertions(+), 4 deletions(-) diff --git a/scripts/labspec.json b/scripts/labspec.json index f2fc8ca..80eb7c4 100644 --- a/scripts/labspec.json +++ b/scripts/labspec.json @@ -59,7 +59,7 @@ "build_requirements": { "platform": { "os": "ubuntu", - "osVersion": "12", + "osVersion": "14", "arch": "x64", "service_pack": "", "installer": [ @@ -83,7 +83,7 @@ "runtime_requirements": { "platform": { "os": "ubuntu", - "osVersion": "12", + "osVersion": "14", "arch": "x64", "servicepack": "", "hosting": "dedicated", @@ -98,6 +98,7 @@ "bash /var/www/deployment/setup.sh", "python /var/www/deployment/setup.py install", "bash /var/www/deployment/configure.sh", + "python /var/www/runtime/rest/cert.py", "PYTHONPATH=/var/www python /var/www/deployment/db_setup.py" ], "lab_actions": { diff --git a/src/deployment/index.org b/src/deployment/index.org index e1dfd23..d6cb519 100755 --- a/src/deployment/index.org +++ b/src/deployment/index.org @@ -24,8 +24,42 @@ requires = [ 'flask-cors', 'flask-testing', 'requests', - 'pyyaml' - + 'pyyaml', + 'asn1crypto>=0.23.0', + 'certifi==2017.7.27.1', + 'cffi==1.11.2', + 'chardet==3.0.4', + 'click==6.7', + 'client==0.0.1', + 'cryptography==2.1.1', + 'enum34==1.1.6', + 'Flask==0.12.2', + 'Flask-Cors==3.0.3', + 'Flask-Login==0.4.0', + 'Flask-OAuth==0.12', + 'Flask-OAuthlib==0.9.4', + 'Flask-SQLAlchemy==2.3.2', + 'Flask-Testing==0.6.2', + 'http==0.2', + 'httplib2==0.10.3', + 'idna==2.6', + 'ipaddress==1.0.18', + 'itsdangerous==0.24', + 'Jinja2==2.9.6', + 'lds==2.0.0', + 'MarkupSafe==1.0', + 'oauth2==1.9.0.post1', + 'oauthlib==2.0.4', + 'oursql==0.9.3.2', + 'pycparser==2.18', + 'pyOpenSSL==17.3.0', + 'PyYAML==3.12', + 'requests==2.18.4', + 'requests-oauthlib==0.8.0', + 'six==1.11.0', + 'SQLAlchemy==1.2.0b3', + 'urllib3==1.22', + 'Werkzeug==0.12.2' ] setup( From ed96ac986b82c50f233b436997a8c8d91159abd6 Mon Sep 17 00:00:00 2001 From: madhavi Date: Fri, 27 Oct 2017 17:24:09 +0530 Subject: [PATCH 047/105] update os version --- scripts/labspec.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/scripts/labspec.json b/scripts/labspec.json index 80eb7c4..e0ce197 100644 --- a/scripts/labspec.json +++ b/scripts/labspec.json @@ -59,7 +59,7 @@ "build_requirements": { "platform": { "os": "ubuntu", - "osVersion": "14", + "osVersion": "14.04", "arch": "x64", "service_pack": "", "installer": [ @@ -83,7 +83,7 @@ "runtime_requirements": { "platform": { "os": "ubuntu", - "osVersion": "14", + "osVersion": "14.04", "arch": "x64", "servicepack": "", "hosting": "dedicated", From af6fac50333af46d5815a4702bade35894932c78 Mon Sep 17 00:00:00 2001 From: madhavi Date: Mon, 30 Oct 2017 12:04:14 +0530 Subject: [PATCH 048/105] update os version --- scripts/labspec.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/scripts/labspec.json b/scripts/labspec.json index e0ce197..f55a7c0 100644 --- a/scripts/labspec.json +++ b/scripts/labspec.json @@ -59,7 +59,7 @@ "build_requirements": { "platform": { "os": "ubuntu", - "osVersion": "14.04", + "osVersion": "12", "arch": "x64", "service_pack": "", "installer": [ @@ -83,7 +83,7 @@ "runtime_requirements": { "platform": { "os": "ubuntu", - "osVersion": "14.04", + "osVersion": "12", "arch": "x64", "servicepack": "", "hosting": "dedicated", From 6592c539d426182193314e7f5463c08ebea731dc Mon Sep 17 00:00:00 2001 From: madhavi Date: Mon, 30 Oct 2017 12:36:08 +0530 Subject: [PATCH 049/105] updating pip version in setup.sh script --- src/deployment/index.org | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/deployment/index.org b/src/deployment/index.org index d6cb519..3d5c11b 100755 --- a/src/deployment/index.org +++ b/src/deployment/index.org @@ -438,6 +438,14 @@ fi # Install pre-requsite dependencies: python-dev, mysqld-dev, setuptools, # apache, mod_wsgi etc. echo "Installing pre-requisite dependencies.." +apt-get remove -y python-pip +apt-get purge python-pip +mkdir -p build/pip +cd build/pip +wget https://pypi.python.org/packages/11/b6/abcb525026a4be042b486df43905d6893fb04f05aac21c32c638e939e447/pip-9.0.1.tar.gz#md5=35f01da33009719497f01a4ba69d63c9 +tar xvf pip-9.0.1.tar.gz +cd pip-9.0.1 +python setup.py install apt-get install -y python-dev libmysqld-dev python-setuptools apache2 libapache2-mod-wsgi python-mysqldb if [[ $? -ne 0 ]]; then From 70a45d6b8ff395d9179aae7bab38f8c35fc1a821 Mon Sep 17 00:00:00 2001 From: madhavi Date: Mon, 30 Oct 2017 16:13:54 +0530 Subject: [PATCH 050/105] moved some packages from setup.py to setup.sh --- src/deployment/index.org | 51 +++++++--------------------------------- 1 file changed, 9 insertions(+), 42 deletions(-) diff --git a/src/deployment/index.org b/src/deployment/index.org index 3d5c11b..c2ac598 100755 --- a/src/deployment/index.org +++ b/src/deployment/index.org @@ -18,48 +18,10 @@ from setuptools import setup requires = [ - 'flask', - 'Flask-SQLAlchemy', 'oursql', - 'flask-cors', - 'flask-testing', 'requests', - 'pyyaml', - 'asn1crypto>=0.23.0', - 'certifi==2017.7.27.1', - 'cffi==1.11.2', - 'chardet==3.0.4', - 'click==6.7', - 'client==0.0.1', - 'cryptography==2.1.1', - 'enum34==1.1.6', - 'Flask==0.12.2', - 'Flask-Cors==3.0.3', - 'Flask-Login==0.4.0', - 'Flask-OAuth==0.12', - 'Flask-OAuthlib==0.9.4', - 'Flask-SQLAlchemy==2.3.2', - 'Flask-Testing==0.6.2', - 'http==0.2', - 'httplib2==0.10.3', - 'idna==2.6', - 'ipaddress==1.0.18', - 'itsdangerous==0.24', - 'Jinja2==2.9.6', - 'lds==2.0.0', - 'MarkupSafe==1.0', - 'oauth2==1.9.0.post1', - 'oauthlib==2.0.4', - 'oursql==0.9.3.2', - 'pycparser==2.18', - 'pyOpenSSL==17.3.0', - 'PyYAML==3.12', - 'requests==2.18.4', - 'requests-oauthlib==0.8.0', - 'six==1.11.0', - 'SQLAlchemy==1.2.0b3', - 'urllib3==1.22', - 'Werkzeug==0.12.2' + 'pyyaml' + ] setup( @@ -471,8 +433,13 @@ wget https://pypi.python.org/packages/8c/88/9f53a314a2af6f56c0a1249c5673ee384b85 tar xvf oursql-0.9.3.2.tar.gz cd oursql-0.9.3.2 python setup.py install - -pip install Flask Flask-SQLAlchemy oursql requests flask-cors flask-testing +pip install Flask Flask-SQLAlchemy oursql requests flask-cors\ + Werkzeug urllib3 SQLAlchemy six requests-oauthlib asn1crypto\ + certifi cffi chardet click client cryptography enum34 Flask\ + Flask-Cors Flask-Login Flask-OAuth Flask-OAuthlib\ + Flask-Testing http httplib2 idna ipaddress itsdangerous\ + Jinja2 lds MarkupSafe oauth2 oauthlib oursql pycparser\ + pyOpenSSL PyYAML requests flask-cors Flask-SQLAlchemy if [[ $? -ne 0 ]]; then echo "FATAL: Installation failed!" From 06e02fc4c60f24f50748c32353b27bcdb555bd3d Mon Sep 17 00:00:00 2001 From: madhavi Date: Mon, 30 Oct 2017 16:36:06 +0530 Subject: [PATCH 051/105] removed 'lds' package from package list in setup.sh --- src/deployment/index.org | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/deployment/index.org b/src/deployment/index.org index c2ac598..2178c33 100755 --- a/src/deployment/index.org +++ b/src/deployment/index.org @@ -438,7 +438,7 @@ pip install Flask Flask-SQLAlchemy oursql requests flask-cors\ certifi cffi chardet click client cryptography enum34 Flask\ Flask-Cors Flask-Login Flask-OAuth Flask-OAuthlib\ Flask-Testing http httplib2 idna ipaddress itsdangerous\ - Jinja2 lds MarkupSafe oauth2 oauthlib oursql pycparser\ + Jinja2 MarkupSafe oauth2 oauthlib oursql pycparser\ pyOpenSSL PyYAML requests flask-cors Flask-SQLAlchemy if [[ $? -ne 0 ]]; then From a0a3db31670d52d99e388b53d0db1f4b9cb8f1df Mon Sep 17 00:00:00 2001 From: madhavi Date: Mon, 30 Oct 2017 17:12:08 +0530 Subject: [PATCH 052/105] resolved bug in config.org --- src/runtime/config/config.org | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/runtime/config/config.org b/src/runtime/config/config.org index c2baec1..aef47ab 100755 --- a/src/runtime/config/config.org +++ b/src/runtime/config/config.org @@ -19,7 +19,7 @@ This holds the application's configuration parameters. # example DB URI: # mysql+oursql://scott:tiger@localhost/mydatabase # postgresql+psycopg2://scott:tiger@localhost/mydatabase -SQLALCHEMY_DATABASE_URI = 'mysql+oursql://root:root@localhost/lds>' +SQLALCHEMY_DATABASE_URI = 'mysql+oursql://:@/' # example # SQLALCHEMY_DATABASE_URI = 'mysql+oursql://root:root@localhost/lds' From 47e91fe0d922ba627b67c9195ff05d5957bb938f Mon Sep 17 00:00:00 2001 From: Thirumal Ravula Date: Tue, 31 Oct 2017 21:41:12 +0530 Subject: [PATCH 053/105] all milestoned captured --- src/index.org | 1 + src/realization-plan/index.org | 114 ++++++++++++++++++++------------- src/requirements/index.org | 34 ++++++---- 3 files changed, 90 insertions(+), 59 deletions(-) diff --git a/src/index.org b/src/index.org index 0e05db2..35c3f2c 100755 --- a/src/index.org +++ b/src/index.org @@ -21,6 +21,7 @@ 5. [[./deployment/index.org][Deployment]] +6. [[./realization-plan/index.org][Realization Plan]] diff --git a/src/realization-plan/index.org b/src/realization-plan/index.org index 8c4b121..7db6b18 100644 --- a/src/realization-plan/index.org +++ b/src/realization-plan/index.org @@ -8,52 +8,74 @@ #+LATEX: Literal LaTeX code for export * Introduction - - This document contains the realization plan for - implementing the Lab Data Service. + This document contains the realization plan for + implementing the Lab Data Service. This application is + realized as series of [[https://github.com/vlead/lab-data-service/milestones?state=closed][milestones]]. -* Plan -** [[https://github.com/vlead/lab-data-service/milestone/8][Milestone one]] - :PROPERTIES: - :CUSTOM_ID: plan-for-milestone-one - :END: +* Milestones Snapshot + |------+---------------------+---------------------------------+------+--------+--------| + | S.no | Requirement Mapping | Milestone | Plan | Status | Issues | + |------+---------------------+---------------------------------+------+--------+--------| + | 1 | | [[https://github.com/vlead/lab-data-service/milestone/6][LDS to work with nosql]] | [[Add information for missing labs][ref]] | Open | [[https://github.com/vlead/lab-data-service/issues?q=is%253Aopen+milestone%253A%2522Migrating+LDS+service+backend+from+mysql+to+nosql+%2528monodb%2529%2522][ref]] | + |------+---------------------+---------------------------------+------+--------+--------| + | 2 | | [[https://github.com/vlead/lab-data-service/milestone/9][Pagination]] | | Closed | [[https://github.com/vlead/lab-data-service/issues?q=is%253Aclosed+milestone%253A%2522Implementation+of+%2527Pagination%2527%2522][ref]] | + |------+---------------------+---------------------------------+------+--------+--------| + | 3 | | [[https://github.com/vlead/lab-data-service/milestone/8][Update missing labs]] | | Closed | [[https://github.com/vlead/lab-data-service/issues?q=is%253Aclosed+milestone%253A%2522Updating+LDS+with+177+Labs+data+and+adding+new+Features%252FEnhancements++%2522][ref]] | + |------+---------------------+---------------------------------+------+--------+--------| + | 4 | | [[https://github.com/vlead/lab-data-service/milestone/7][Bug fix release]] | | Closed | [[https://github.com/vlead/lab-data-service/issues?q=is%253Aclosed+milestone%253A%2522Bug+fix+release%2522][ref]] | + |------+---------------------+---------------------------------+------+--------+--------| + | 5 | | [[https://github.com/vlead/lab-data-service/milestone/5][New specification structure]] | | Closed | [[https://github.com/vlead/lab-data-service/issues?q=is%253Aclosed+milestone%253A%2522Enhancements+in+the+LDS+according+to+the+new+lab+specification+structure+-+Release+version+V1.1.0%2522][ref]] | + |------+---------------------+---------------------------------+------+--------+--------| + | 6 | | [[https://github.com/vlead/lab-data-service/milestone/4][Address Review Comments]] | | Closed | [[https://github.com/vlead/lab-data-service/issues?q=is%253Aclosed+milestone%253A%2522Complete+funtionality+of+Lab+Data+Service+with+the+fixing+of+review+comments%2522][ref]] | + |------+---------------------+---------------------------------+------+--------+--------| + | 7 | | [[https://github.com/vlead/lab-data-service/milestone/3][Realize for experiment entity]] | | Closed | [[https://github.com/vlead/lab-data-service/issues?q=is%253Aclosed+milestone%253A%2522Next+release+of+Lab+Data+Service+with+experiments+integrated%2522][ref]] | + |------+---------------------+---------------------------------+------+--------+--------| + | 8 | | [[https://github.com/vlead/lab-data-service/milestone/2][Capture details of missing labs]] | | Closed | [[https://github.com/vlead/lab-data-service/issues?q=is%253Aclosed+milestone%253A%2522Creation+of+Lab-specifications+for+all+the+labs%2522][ref]] | + |------+---------------------+---------------------------------+------+--------+--------| + | 9 | | [[https://github.com/vlead/lab-data-service/milestone/1][Create the data model]] | | Closed | [[https://github.com/vlead/lab-data-service/issues?q=is%253Aclosed+milestone%253A%2522Lab+data+service+should+able+to+provide+the+search+by+lab+name%252C+institute+and+disciplines%2522][ref]] | + |------+---------------------+---------------------------------+------+--------+--------| + #+TBLFM: $1=@#-1 - This milestone includes the following features: -1) Updating LDS with 178 Labs data -2) Features/Enhancements: - a) Add 'Phase' table to the current Schema. - b) Implementation of 'Migration' Script. - c) Implementation of 'Backup' and 'Restore' Scripts. - -#+caption: realization-plan -#+name: tbl-realization-plan -|-------+--------------------------+--------+-----------+--------+------------+------------+--------+-----------| -| S. | Tasks | Github | Expected | Actual | Estimated | Actual | Status | Assignee | -| NO | | Issues | Effort | Effort | Start, | Start/ | | | -| | | | (in | (in | End | End | | | -| | | | person | person | Dates | Dates | | | -| | | | hours) | hours) | | | | | -|-------+--------------------------+--------+-----------+--------+------------+------------+--------+-----------| -| 1. | Some labs are not | [[https://github.com/vlead/lab-data-service/issues/92][#92]] | 60 | 48 | 09-09-2017 | 09-09-2017 | Done | Sanchita | -| | captured in lds database | | | | 13-09-2017 | 13-09-2017 | | Mrudhvika | -|-------+--------------------------+--------+-----------+--------+------------+------------+--------+-----------| -| 2. | create a new table | [[https://github.com/vlead/lab-data-service/issues/91][#91]] | 60 | 24 | 02-10-2017 | 03-10-2017 | Done | Madhavi | -| | 'Phase' in the database | | | | 06-10-2017 | 06-10-2017 | | | -|-------+--------------------------+--------+-----------+--------+------------+------------+--------+-----------| -| 3. | Implementation of | [[https://github.com/vlead/lab-data-service/issues/95][#95]] | 8 | 6 | 09-10-2017 | 09-10-2017 | Done | Madhavi | -| | Migration Script | | | | 09-10-2017 | 09-10-2017 | | | -|-------+--------------------------+--------+-----------+--------+------------+------------+--------+-----------| -| 4. | Implementation of | [[https://github.com/vlead/lab-data-service/issues/96][#96]] | 8 | 6 | 10-10-2017 | 10-10-2017 | Done | Madhavi | -| | 'Restore' and | | | | 10-10-2017 | 10-10-2017 | | | -| | 'Backup' Scripts | | | | | | | | -|-------+--------------------------+--------+-----------+--------+------------+------------+--------+-----------| -| 5. | Deployment of | [[https://github.com/vlead/lab-data-service/issues/97][#97]] | 16 | 12 | 11-10-2017 | 11-10-2017 | Done | Madhavi | -| | 'lab-data-service' | | | | 12-10-2017 | 12-10-2017 | | | -| | on Testing and | | | | | | | | -| | Staging Environments | | | | | | | | -|-------+--------------------------+--------+-----------+--------+------------+------------+--------+-----------| -| Total | | | 153 | 96 | | | | | -| ^ | | | estimated | actual | | | | | -|-------+--------------------------+--------+-----------+--------+------------+------------+--------+-----------| -#+TBLFM: $estimated=vsum(@II+1..@-1) -#+TBLFM: $actual=vsum(@II+1..@-1) +* Detailed Plans +** Add information for missing labs + + This [[https://github.com/vlead/lab-data-service/milestone/8][milestone]] includes the following features: + 1. Updating LDS with 178 Labs data + 2. Features/Enhancements: + 1. Add 'Phase' table to the current Schema. + 2. Implementation of 'Migration' Script. + 3. Implementation of 'Backup' and 'Restore' Scripts. + + #+caption: realization-plan + #+name: tbl-realization-plan + |-------+--------------------------+--------+-----------+--------+------------+------------+--------+-----------| + | S. | Tasks | Github | Expected | Actual | Estimated | Actual | Status | Assignee | + | NO | | Issues | Effort | Effort | Start, | Start/ | | | + | | | | (in | (in | End | End | | | + | | | | person | person | Dates | Dates | | | + | | | | hours) | hours) | | | | | + |-------+--------------------------+--------+-----------+--------+------------+------------+--------+-----------| + | 1. | Some labs are not | [[https://github.com/vlead/lab-data-service/issues/92][#92]] | 60 | 48 | 09-09-2017 | 09-09-2017 | Done | Sanchita | + | | captured in lds database | | | | 13-09-2017 | 13-09-2017 | | Mrudhvika | + |-------+--------------------------+--------+-----------+--------+------------+------------+--------+-----------| + | 2. | create a new table | [[https://github.com/vlead/lab-data-service/issues/91][#91]] | 60 | 24 | 02-10-2017 | 03-10-2017 | Done | Madhavi | + | | 'Phase' in the database | | | | 06-10-2017 | 06-10-2017 | | | + |-------+--------------------------+--------+-----------+--------+------------+------------+--------+-----------| + | 3. | Implementation of | [[https://github.com/vlead/lab-data-service/issues/95][#95]] | 8 | 6 | 09-10-2017 | 09-10-2017 | Done | Madhavi | + | | Migration Script | | | | 09-10-2017 | 09-10-2017 | | | + |-------+--------------------------+--------+-----------+--------+------------+------------+--------+-----------| + | 4. | Implementation of | [[https://github.com/vlead/lab-data-service/issues/96][#96]] | 8 | 6 | 10-10-2017 | 10-10-2017 | Done | Madhavi | + | | 'Restore' and | | | | 10-10-2017 | 10-10-2017 | | | + | | 'Backup' Scripts | | | | | | | | + |-------+--------------------------+--------+-----------+--------+------------+------------+--------+-----------| + | 5. | Deployment of | [[https://github.com/vlead/lab-data-service/issues/97][#97]] | 16 | 12 | 11-10-2017 | 11-10-2017 | Done | Madhavi | + | | 'lab-data-service' | | | | 12-10-2017 | 12-10-2017 | | | + | | on Testing and | | | | | | | | + | | Staging Environments | | | | | | | | + |-------+--------------------------+--------+-----------+--------+------------+------------+--------+-----------| + | Total | | | 153 | 96 | | | | | + | ^ | | | estimated | actual | | | | | + |-------+--------------------------+--------+-----------+--------+------------+------------+--------+-----------| + #+TBLFM: $estimated=vsum(@II+1..@-1) + #+TBLFM: $actual=vsum(@II+1..@-1) diff --git a/src/requirements/index.org b/src/requirements/index.org index f39506b..3c943f9 100755 --- a/src/requirements/index.org +++ b/src/requirements/index.org @@ -20,15 +20,15 @@ :PROPERTIES: :CUSTOM_ID: req1 :END: - - Ability to store & retrieve the data about labs based on lab and - experiment specifications. + - Ability to store & retrieve the data about labs based + on lab and experiment specifications. ** Req2 :PROPERTIES: :CUSTOM_ID: req2 :END: - - Ability to query the data about the lab information with all possible - queries. + - Ability to query the data about the lab information + with all possible queries. ** Req3 :PROPERTIES: @@ -40,41 +40,49 @@ :PROPERTIES: :CUSTOM_ID: req4 :END: - - Footer need to be served from Lab Data Service. All the portals like - OpenedX, Outreach Portal, and Feedback should be able to use the footer. + - Ability to change the schema for any entity without + changes to the implementation as long as the relations + between the entities are unchanged. ** Req5 :PROPERTIES: :CUSTOM_ID: req5 :END: - - Ability to provide information about experiment, lab, institute and - discipline Assets. + - Ability to provide information about experiment, lab, + institute and discipline Assets. ** Req6 :PROPERTIES: :CUSTOM_ID: req6 :END: - - Ability to provide Hosting Information of lab and experiment. + - Ability to provide Hosting Information of lab and + experiment. ** Req7 :PROPERTIES: :CUSTOM_ID: req7 :END: - - Ability to provide the lab and experiment Integration status. + - Ability to provide the lab and experiment Integration + status. ** Req8 :PROPERTIES: :CUSTOM_ID: req8 :END: - - Lab Data Service should generate National Digital Library specification. Issue [[https://github.com/vlead/lab-data-service/issues/45][#45]] + - Lab Data Service should generate National Digital + Library specification. Issue [[https://github.com/vlead/lab-data-service/issues/45][#45]] + ** Req9 :PROPERTIES: :CUSTOM_ID: req9 :END: - - Ability to search about labs using all possible 'keywords'. Issue [[https://github.com/vlead/lab-data-service/issues/46][#46]] + - Ability to search about labs using all possible + 'keywords'. Issue [[https://github.com/vlead/lab-data-service/issues/46][#46]] + ** Req10 :PROPERTIES: :CUSTOM_ID: req10 :END: - - LDS need to capture the metadata for google crawling. Issue [[https://github.com/vlead/lab-data-service/issues/47][#47]] + - LDS need to capture the metadata for google + crawling. Issue [[https://github.com/vlead/lab-data-service/issues/47][#47]] From 7854e68c4267ef34e11359cc0dfad8776ad6d7d4 Mon Sep 17 00:00:00 2001 From: Thirumal Ravula Date: Wed, 1 Nov 2017 11:07:32 +0530 Subject: [PATCH 054/105] accumulated estimated and actual spent on each milestone into the master table. --- src/realization-plan/index.org | 55 +++++++++++++++++++--------------- 1 file changed, 31 insertions(+), 24 deletions(-) diff --git a/src/realization-plan/index.org b/src/realization-plan/index.org index 7db6b18..80cda3d 100644 --- a/src/realization-plan/index.org +++ b/src/realization-plan/index.org @@ -13,29 +13,36 @@ realized as series of [[https://github.com/vlead/lab-data-service/milestones?state=closed][milestones]]. * Milestones Snapshot - |------+---------------------+---------------------------------+------+--------+--------| - | S.no | Requirement Mapping | Milestone | Plan | Status | Issues | - |------+---------------------+---------------------------------+------+--------+--------| - | 1 | | [[https://github.com/vlead/lab-data-service/milestone/6][LDS to work with nosql]] | [[Add information for missing labs][ref]] | Open | [[https://github.com/vlead/lab-data-service/issues?q=is%253Aopen+milestone%253A%2522Migrating+LDS+service+backend+from+mysql+to+nosql+%2528monodb%2529%2522][ref]] | - |------+---------------------+---------------------------------+------+--------+--------| - | 2 | | [[https://github.com/vlead/lab-data-service/milestone/9][Pagination]] | | Closed | [[https://github.com/vlead/lab-data-service/issues?q=is%253Aclosed+milestone%253A%2522Implementation+of+%2527Pagination%2527%2522][ref]] | - |------+---------------------+---------------------------------+------+--------+--------| - | 3 | | [[https://github.com/vlead/lab-data-service/milestone/8][Update missing labs]] | | Closed | [[https://github.com/vlead/lab-data-service/issues?q=is%253Aclosed+milestone%253A%2522Updating+LDS+with+177+Labs+data+and+adding+new+Features%252FEnhancements++%2522][ref]] | - |------+---------------------+---------------------------------+------+--------+--------| - | 4 | | [[https://github.com/vlead/lab-data-service/milestone/7][Bug fix release]] | | Closed | [[https://github.com/vlead/lab-data-service/issues?q=is%253Aclosed+milestone%253A%2522Bug+fix+release%2522][ref]] | - |------+---------------------+---------------------------------+------+--------+--------| - | 5 | | [[https://github.com/vlead/lab-data-service/milestone/5][New specification structure]] | | Closed | [[https://github.com/vlead/lab-data-service/issues?q=is%253Aclosed+milestone%253A%2522Enhancements+in+the+LDS+according+to+the+new+lab+specification+structure+-+Release+version+V1.1.0%2522][ref]] | - |------+---------------------+---------------------------------+------+--------+--------| - | 6 | | [[https://github.com/vlead/lab-data-service/milestone/4][Address Review Comments]] | | Closed | [[https://github.com/vlead/lab-data-service/issues?q=is%253Aclosed+milestone%253A%2522Complete+funtionality+of+Lab+Data+Service+with+the+fixing+of+review+comments%2522][ref]] | - |------+---------------------+---------------------------------+------+--------+--------| - | 7 | | [[https://github.com/vlead/lab-data-service/milestone/3][Realize for experiment entity]] | | Closed | [[https://github.com/vlead/lab-data-service/issues?q=is%253Aclosed+milestone%253A%2522Next+release+of+Lab+Data+Service+with+experiments+integrated%2522][ref]] | - |------+---------------------+---------------------------------+------+--------+--------| - | 8 | | [[https://github.com/vlead/lab-data-service/milestone/2][Capture details of missing labs]] | | Closed | [[https://github.com/vlead/lab-data-service/issues?q=is%253Aclosed+milestone%253A%2522Creation+of+Lab-specifications+for+all+the+labs%2522][ref]] | - |------+---------------------+---------------------------------+------+--------+--------| - | 9 | | [[https://github.com/vlead/lab-data-service/milestone/1][Create the data model]] | | Closed | [[https://github.com/vlead/lab-data-service/issues?q=is%253Aclosed+milestone%253A%2522Lab+data+service+should+able+to+provide+the+search+by+lab+name%252C+institute+and+disciplines%2522][ref]] | - |------+---------------------+---------------------------------+------+--------+--------| - #+TBLFM: $1=@#-1 - + |----+----+-----+---------------------------------+------+--------+-----+-----+--------| + | S. | Mi | Req | Milestone | Plan | Status | Est | Act | Issues | + | no | no | Map | | | | hrs | hrs | | + |----+----+-----+---------------------------------+------+--------+-----+-----+--------| + | 1 | [[https://github.com/vlead/lab-data-service/milestone/6][6]] | | [[https://github.com/vlead/lab-data-service/milestone/6][LDS to work with nosql]] | | Open | | | [[https://github.com/vlead/lab-data-service/milestones/Migrating%2520LDS%2520service%2520backend%2520from%2520mysql%2520to%2520nosql%2520(monodb)][ref]] | + |----+----+-----+---------------------------------+------+--------+-----+-----+--------| + | 2 | [[https://github.com/vlead/lab-data-service/milestone/9][9]] | | [[https://github.com/vlead/lab-data-service/milestone/9][Pagination]] | | Closed | | | [[https://github.com/vlead/lab-data-service/milestone/9?closed=1][ref]] | + |----+----+-----+---------------------------------+------+--------+-----+-----+--------| + | 3 | [[https://github.com/vlead/lab-data-service/milestone/8][8]] | | [[https://github.com/vlead/lab-data-service/milestone/8][Update missing labs]] | [[Add information for missing labs][ref]] | Closed | 153 | 96 | [[https://github.com/vlead/lab-data-service/issues?q=is%253Aclosed+milestone%253A%2522Updating+LDS+with+177+Labs+data+and+adding+new+Features%252FEnhancements++%2522][ref]] | + |----+----+-----+---------------------------------+------+--------+-----+-----+--------| + | 4 | [[https://github.com/vlead/lab-data-service/milestone/7][7]] | | [[https://github.com/vlead/lab-data-service/milestone/7][Bug fix release]] | | Closed | | | [[https://github.com/vlead/lab-data-service/issues?q=is%253Aclosed+milestone%253A%2522Bug+fix+release%2522][ref]] | + |----+----+-----+---------------------------------+------+--------+-----+-----+--------| + | 5 | [[https://github.com/vlead/lab-data-service/milestone/5][5]] | | [[https://github.com/vlead/lab-data-service/milestone/5][New specification structure]] | | Closed | | | [[https://github.com/vlead/lab-data-service/issues?q=is%253Aclosed+milestone%253A%2522Enhancements+in+the+LDS+according+to+the+new+lab+specification+structure+-+Release+version+V1.1.0%2522][ref]] | + |----+----+-----+---------------------------------+------+--------+-----+-----+--------| + | 6 | [[https://github.com/vlead/lab-data-service/milestone/4][4]] | | [[https://github.com/vlead/lab-data-service/milestone/4][Address Review Comments]] | | Closed | | | [[https://github.com/vlead/lab-data-service/issues?q=is%253Aclosed+milestone%253A%2522Complete+funtionality+of+Lab+Data+Service+with+the+fixing+of+review+comments%2522][ref]] | + |----+----+-----+---------------------------------+------+--------+-----+-----+--------| + | 7 | [[https://github.com/vlead/lab-data-service/milestone/3][3]] | | [[https://github.com/vlead/lab-data-service/milestone/3][Realize for experiment entity]] | | Closed | | | [[https://github.com/vlead/lab-data-service/issues?q=is%253Aclosed+milestone%253A%2522Next+release+of+Lab+Data+Service+with+experiments+integrated%2522][ref]] | + |----+----+-----+---------------------------------+------+--------+-----+-----+--------| + | 8 | [[https://github.com/vlead/lab-data-service/milestone/2][2]] | | [[https://github.com/vlead/lab-data-service/milestone/2][Capture details of missing labs]] | | Closed | | | [[https://github.com/vlead/lab-data-service/issues?q=is%253Aclosed+milestone%253A%2522Creation+of+Lab-specifications+for+all+the+labs%2522][ref]] | + |----+----+-----+---------------------------------+------+--------+-----+-----+--------| + | 9 | [[https://github.com/vlead/lab-data-service/milestone/1][1]] | | [[https://github.com/vlead/lab-data-service/milestone/1][Create the data model]] | | Closed | | | [[https://github.com/vlead/lab-data-service/issues?q=is%253Aclosed+milestone%253A%2522Lab+data+service+should+able+to+provide+the+search+by+lab+name%252C+institute+and+disciplines%2522][ref]] | + |----+----+-----+---------------------------------+------+--------+-----+-----+--------| + | | | | Total | | | 153 | 96 | | + | ^ | | | | | | et | at | | + |----+----+-----+---------------------------------+------+--------+-----+-----+--------| + #+TBLFM: $1=@#-2 + #+TBLFM: @6$7=remote(tbl-rlz-pln-ml-8, $estimated) + #+TBLFM: @6$8=remote(tbl-rlz-pln-ml-8, $actual) + #+TBLFM: $et=vsum(@II+1..@-1) + #+TBLFM: $at=vsum(@II+1..@-1) * Detailed Plans ** Add information for missing labs @@ -48,7 +55,7 @@ 3. Implementation of 'Backup' and 'Restore' Scripts. #+caption: realization-plan - #+name: tbl-realization-plan + #+name: tbl-rlz-pln-ml-8 |-------+--------------------------+--------+-----------+--------+------------+------------+--------+-----------| | S. | Tasks | Github | Expected | Actual | Estimated | Actual | Status | Assignee | | NO | | Issues | Effort | Effort | Start, | Start/ | | | From e5d8253682da968318ce189badf4874338f3f37e Mon Sep 17 00:00:00 2001 From: Thirumal Ravula Date: Wed, 1 Nov 2017 11:41:59 +0530 Subject: [PATCH 055/105] org table format --- src/realization-plan/index.org | 56 +++++++++++++++++----------------- 1 file changed, 28 insertions(+), 28 deletions(-) diff --git a/src/realization-plan/index.org b/src/realization-plan/index.org index 80cda3d..ab7b71c 100644 --- a/src/realization-plan/index.org +++ b/src/realization-plan/index.org @@ -13,34 +13,34 @@ realized as series of [[https://github.com/vlead/lab-data-service/milestones?state=closed][milestones]]. * Milestones Snapshot - |----+----+-----+---------------------------------+------+--------+-----+-----+--------| - | S. | Mi | Req | Milestone | Plan | Status | Est | Act | Issues | - | no | no | Map | | | | hrs | hrs | | - |----+----+-----+---------------------------------+------+--------+-----+-----+--------| - | 1 | [[https://github.com/vlead/lab-data-service/milestone/6][6]] | | [[https://github.com/vlead/lab-data-service/milestone/6][LDS to work with nosql]] | | Open | | | [[https://github.com/vlead/lab-data-service/milestones/Migrating%2520LDS%2520service%2520backend%2520from%2520mysql%2520to%2520nosql%2520(monodb)][ref]] | - |----+----+-----+---------------------------------+------+--------+-----+-----+--------| - | 2 | [[https://github.com/vlead/lab-data-service/milestone/9][9]] | | [[https://github.com/vlead/lab-data-service/milestone/9][Pagination]] | | Closed | | | [[https://github.com/vlead/lab-data-service/milestone/9?closed=1][ref]] | - |----+----+-----+---------------------------------+------+--------+-----+-----+--------| - | 3 | [[https://github.com/vlead/lab-data-service/milestone/8][8]] | | [[https://github.com/vlead/lab-data-service/milestone/8][Update missing labs]] | [[Add information for missing labs][ref]] | Closed | 153 | 96 | [[https://github.com/vlead/lab-data-service/issues?q=is%253Aclosed+milestone%253A%2522Updating+LDS+with+177+Labs+data+and+adding+new+Features%252FEnhancements++%2522][ref]] | - |----+----+-----+---------------------------------+------+--------+-----+-----+--------| - | 4 | [[https://github.com/vlead/lab-data-service/milestone/7][7]] | | [[https://github.com/vlead/lab-data-service/milestone/7][Bug fix release]] | | Closed | | | [[https://github.com/vlead/lab-data-service/issues?q=is%253Aclosed+milestone%253A%2522Bug+fix+release%2522][ref]] | - |----+----+-----+---------------------------------+------+--------+-----+-----+--------| - | 5 | [[https://github.com/vlead/lab-data-service/milestone/5][5]] | | [[https://github.com/vlead/lab-data-service/milestone/5][New specification structure]] | | Closed | | | [[https://github.com/vlead/lab-data-service/issues?q=is%253Aclosed+milestone%253A%2522Enhancements+in+the+LDS+according+to+the+new+lab+specification+structure+-+Release+version+V1.1.0%2522][ref]] | - |----+----+-----+---------------------------------+------+--------+-----+-----+--------| - | 6 | [[https://github.com/vlead/lab-data-service/milestone/4][4]] | | [[https://github.com/vlead/lab-data-service/milestone/4][Address Review Comments]] | | Closed | | | [[https://github.com/vlead/lab-data-service/issues?q=is%253Aclosed+milestone%253A%2522Complete+funtionality+of+Lab+Data+Service+with+the+fixing+of+review+comments%2522][ref]] | - |----+----+-----+---------------------------------+------+--------+-----+-----+--------| - | 7 | [[https://github.com/vlead/lab-data-service/milestone/3][3]] | | [[https://github.com/vlead/lab-data-service/milestone/3][Realize for experiment entity]] | | Closed | | | [[https://github.com/vlead/lab-data-service/issues?q=is%253Aclosed+milestone%253A%2522Next+release+of+Lab+Data+Service+with+experiments+integrated%2522][ref]] | - |----+----+-----+---------------------------------+------+--------+-----+-----+--------| - | 8 | [[https://github.com/vlead/lab-data-service/milestone/2][2]] | | [[https://github.com/vlead/lab-data-service/milestone/2][Capture details of missing labs]] | | Closed | | | [[https://github.com/vlead/lab-data-service/issues?q=is%253Aclosed+milestone%253A%2522Creation+of+Lab-specifications+for+all+the+labs%2522][ref]] | - |----+----+-----+---------------------------------+------+--------+-----+-----+--------| - | 9 | [[https://github.com/vlead/lab-data-service/milestone/1][1]] | | [[https://github.com/vlead/lab-data-service/milestone/1][Create the data model]] | | Closed | | | [[https://github.com/vlead/lab-data-service/issues?q=is%253Aclosed+milestone%253A%2522Lab+data+service+should+able+to+provide+the+search+by+lab+name%252C+institute+and+disciplines%2522][ref]] | - |----+----+-----+---------------------------------+------+--------+-----+-----+--------| - | | | | Total | | | 153 | 96 | | - | ^ | | | | | | et | at | | - |----+----+-----+---------------------------------+------+--------+-----+-----+--------| - #+TBLFM: $1=@#-2 - #+TBLFM: @6$7=remote(tbl-rlz-pln-ml-8, $estimated) - #+TBLFM: @6$8=remote(tbl-rlz-pln-ml-8, $actual) + |---+----+----+-----+---------------------------------+------+--------+-----+-----+--------| + | | S. | Mi | Req | Milestone | Plan | Status | Est | Act | Issues | + | | no | no | Map | | | | hrs | hrs | | + |---+----+----+-----+---------------------------------+------+--------+-----+-----+--------| + | | 1 | [[https://github.com/vlead/lab-data-service/milestone/6][6]] | | [[https://github.com/vlead/lab-data-service/milestone/6][LDS to work with nosql]] | | Open | | | [[https://github.com/vlead/lab-data-service/milestones/Migrating%2520LDS%2520service%2520backend%2520from%2520mysql%2520to%2520nosql%2520(monodb)][ref]] | + |---+----+----+-----+---------------------------------+------+--------+-----+-----+--------| + | | 2 | [[https://github.com/vlead/lab-data-service/milestone/9][9]] | | [[https://github.com/vlead/lab-data-service/milestone/9][Pagination]] | | Closed | | | [[https://github.com/vlead/lab-data-service/milestone/9?closed=1][ref]] | + |---+----+----+-----+---------------------------------+------+--------+-----+-----+--------| + | | 3 | [[https://github.com/vlead/lab-data-service/milestone/8][8]] | | [[https://github.com/vlead/lab-data-service/milestone/8][Update missing labs]] | [[Add information for missing labs][ref]] | Closed | 153 | 96 | [[https://github.com/vlead/lab-data-service/issues?q=is%253Aclosed+milestone%253A%2522Updating+LDS+with+177+Labs+data+and+adding+new+Features%252FEnhancements++%2522][ref]] | + |---+----+----+-----+---------------------------------+------+--------+-----+-----+--------| + | | 4 | [[https://github.com/vlead/lab-data-service/milestone/7][7]] | | [[https://github.com/vlead/lab-data-service/milestone/7][Bug fix release]] | | Closed | | | [[https://github.com/vlead/lab-data-service/issues?q=is%253Aclosed+milestone%253A%2522Bug+fix+release%2522][ref]] | + |---+----+----+-----+---------------------------------+------+--------+-----+-----+--------| + | | 5 | [[https://github.com/vlead/lab-data-service/milestone/5][5]] | | [[https://github.com/vlead/lab-data-service/milestone/5][New specification structure]] | | Closed | | | [[https://github.com/vlead/lab-data-service/issues?q=is%253Aclosed+milestone%253A%2522Enhancements+in+the+LDS+according+to+the+new+lab+specification+structure+-+Release+version+V1.1.0%2522][ref]] | + |---+----+----+-----+---------------------------------+------+--------+-----+-----+--------| + | | 6 | [[https://github.com/vlead/lab-data-service/milestone/4][4]] | | [[https://github.com/vlead/lab-data-service/milestone/4][Address Review Comments]] | | Closed | | | [[https://github.com/vlead/lab-data-service/issues?q=is%253Aclosed+milestone%253A%2522Complete+funtionality+of+Lab+Data+Service+with+the+fixing+of+review+comments%2522][ref]] | + |---+----+----+-----+---------------------------------+------+--------+-----+-----+--------| + | | 7 | [[https://github.com/vlead/lab-data-service/milestone/3][3]] | | [[https://github.com/vlead/lab-data-service/milestone/3][Realize for experiment entity]] | | Closed | | | [[https://github.com/vlead/lab-data-service/issues?q=is%253Aclosed+milestone%253A%2522Next+release+of+Lab+Data+Service+with+experiments+integrated%2522][ref]] | + |---+----+----+-----+---------------------------------+------+--------+-----+-----+--------| + | | 8 | [[https://github.com/vlead/lab-data-service/milestone/2][2]] | | [[https://github.com/vlead/lab-data-service/milestone/2][Capture details of missing labs]] | | Closed | | | [[https://github.com/vlead/lab-data-service/issues?q=is%253Aclosed+milestone%253A%2522Creation+of+Lab-specifications+for+all+the+labs%2522][ref]] | + |---+----+----+-----+---------------------------------+------+--------+-----+-----+--------| + | | 9 | [[https://github.com/vlead/lab-data-service/milestone/1][1]] | | [[https://github.com/vlead/lab-data-service/milestone/1][Create the data model]] | | Closed | | | [[https://github.com/vlead/lab-data-service/issues?q=is%253Aclosed+milestone%253A%2522Lab+data+service+should+able+to+provide+the+search+by+lab+name%252C+institute+and+disciplines%2522][ref]] | + |---+----+----+-----+---------------------------------+------+--------+-----+-----+--------| + | | | | | Total | | | 153 | 96 | | + | ^ | | | | | | | et | at | | + |---+----+----+-----+---------------------------------+------+--------+-----+-----+--------| + #+TBLFM: $2=@#-2 + #+TBLFM: @6$8=remote(tbl-rlz-pln-ml-8, $estimated) + #+TBLFM: @6$9=remote(tbl-rlz-pln-ml-8, $actual) #+TBLFM: $et=vsum(@II+1..@-1) #+TBLFM: $at=vsum(@II+1..@-1) From 1a85c3819c4a9cdd6b881a7c60ca478d2cf99a90 Mon Sep 17 00:00:00 2001 From: Thirumal Ravula Date: Wed, 1 Nov 2017 11:44:49 +0530 Subject: [PATCH 056/105] org table format --- src/realization-plan/index.org | 56 +++++++++++++++++----------------- 1 file changed, 28 insertions(+), 28 deletions(-) diff --git a/src/realization-plan/index.org b/src/realization-plan/index.org index ab7b71c..69d1579 100644 --- a/src/realization-plan/index.org +++ b/src/realization-plan/index.org @@ -56,33 +56,33 @@ #+caption: realization-plan #+name: tbl-rlz-pln-ml-8 - |-------+--------------------------+--------+-----------+--------+------------+------------+--------+-----------| - | S. | Tasks | Github | Expected | Actual | Estimated | Actual | Status | Assignee | - | NO | | Issues | Effort | Effort | Start, | Start/ | | | - | | | | (in | (in | End | End | | | - | | | | person | person | Dates | Dates | | | - | | | | hours) | hours) | | | | | - |-------+--------------------------+--------+-----------+--------+------------+------------+--------+-----------| - | 1. | Some labs are not | [[https://github.com/vlead/lab-data-service/issues/92][#92]] | 60 | 48 | 09-09-2017 | 09-09-2017 | Done | Sanchita | - | | captured in lds database | | | | 13-09-2017 | 13-09-2017 | | Mrudhvika | - |-------+--------------------------+--------+-----------+--------+------------+------------+--------+-----------| - | 2. | create a new table | [[https://github.com/vlead/lab-data-service/issues/91][#91]] | 60 | 24 | 02-10-2017 | 03-10-2017 | Done | Madhavi | - | | 'Phase' in the database | | | | 06-10-2017 | 06-10-2017 | | | - |-------+--------------------------+--------+-----------+--------+------------+------------+--------+-----------| - | 3. | Implementation of | [[https://github.com/vlead/lab-data-service/issues/95][#95]] | 8 | 6 | 09-10-2017 | 09-10-2017 | Done | Madhavi | - | | Migration Script | | | | 09-10-2017 | 09-10-2017 | | | - |-------+--------------------------+--------+-----------+--------+------------+------------+--------+-----------| - | 4. | Implementation of | [[https://github.com/vlead/lab-data-service/issues/96][#96]] | 8 | 6 | 10-10-2017 | 10-10-2017 | Done | Madhavi | - | | 'Restore' and | | | | 10-10-2017 | 10-10-2017 | | | - | | 'Backup' Scripts | | | | | | | | - |-------+--------------------------+--------+-----------+--------+------------+------------+--------+-----------| - | 5. | Deployment of | [[https://github.com/vlead/lab-data-service/issues/97][#97]] | 16 | 12 | 11-10-2017 | 11-10-2017 | Done | Madhavi | - | | 'lab-data-service' | | | | 12-10-2017 | 12-10-2017 | | | - | | on Testing and | | | | | | | | - | | Staging Environments | | | | | | | | - |-------+--------------------------+--------+-----------+--------+------------+------------+--------+-----------| - | Total | | | 153 | 96 | | | | | - | ^ | | | estimated | actual | | | | | - |-------+--------------------------+--------+-----------+--------+------------+------------+--------+-----------| + |---+----+--------------------------+--------+-----------+--------+------------+------------+--------+-----------| + | | S. | Tasks | Github | Expected | Actual | Estimated | Actual | Status | Assignee | + | | NO | | Issues | Effort | Effort | Start, | Start/ | | | + | | | | | (in | (in | End | End | | | + | | | | | person | person | Dates | Dates | | | + | | | | | hours) | hours) | | | | | + |---+----+--------------------------+--------+-----------+--------+------------+------------+--------+-----------| + | | 1. | Some labs are not | [[https://github.com/vlead/lab-data-service/issues/92][#92]] | 60 | 48 | 09-09-2017 | 09-09-2017 | Done | Sanchita | + | | | captured in lds database | | | | 13-09-2017 | 13-09-2017 | | Mrudhvika | + |---+----+--------------------------+--------+-----------+--------+------------+------------+--------+-----------| + | | 2. | create a new table | [[https://github.com/vlead/lab-data-service/issues/91][#91]] | 60 | 24 | 02-10-2017 | 03-10-2017 | Done | Madhavi | + | | | 'Phase' in the database | | | | 06-10-2017 | 06-10-2017 | | | + |---+----+--------------------------+--------+-----------+--------+------------+------------+--------+-----------| + | | 3. | Implementation of | [[https://github.com/vlead/lab-data-service/issues/95][#95]] | 8 | 6 | 09-10-2017 | 09-10-2017 | Done | Madhavi | + | | | Migration Script | | | | 09-10-2017 | 09-10-2017 | | | + |---+----+--------------------------+--------+-----------+--------+------------+------------+--------+-----------| + | | 4. | Implementation of | [[https://github.com/vlead/lab-data-service/issues/96][#96]] | 8 | 6 | 10-10-2017 | 10-10-2017 | Done | Madhavi | + | | | 'Restore' and | | | | 10-10-2017 | 10-10-2017 | | | + | | | 'Backup' Scripts | | | | | | | | + |---+----+--------------------------+--------+-----------+--------+------------+------------+--------+-----------| + | | 5. | Deployment of | [[https://github.com/vlead/lab-data-service/issues/97][#97]] | 16 | 12 | 11-10-2017 | 11-10-2017 | Done | Madhavi | + | | | 'lab-data-service' | | | | 12-10-2017 | 12-10-2017 | | | + | | | on Testing and | | | | | | | | + | | | Staging Environments | | | | | | | | + |---+----+--------------------------+--------+-----------+--------+------------+------------+--------+-----------| + | | | Total | | 153 | 96 | | | | | + | ^ | | | | estimated | actual | | | | | + |---+----+--------------------------+--------+-----------+--------+------------+------------+--------+-----------| #+TBLFM: $estimated=vsum(@II+1..@-1) #+TBLFM: $actual=vsum(@II+1..@-1) From f7e6cc7f8974c5463b0954f891995ad653d51c25 Mon Sep 17 00:00:00 2001 From: Thirumal Ravula Date: Wed, 1 Nov 2017 14:31:08 +0530 Subject: [PATCH 057/105] formalae reclculated --- src/realization-plan/index.org | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/realization-plan/index.org b/src/realization-plan/index.org index 69d1579..7d347f6 100644 --- a/src/realization-plan/index.org +++ b/src/realization-plan/index.org @@ -21,7 +21,7 @@ |---+----+----+-----+---------------------------------+------+--------+-----+-----+--------| | | 2 | [[https://github.com/vlead/lab-data-service/milestone/9][9]] | | [[https://github.com/vlead/lab-data-service/milestone/9][Pagination]] | | Closed | | | [[https://github.com/vlead/lab-data-service/milestone/9?closed=1][ref]] | |---+----+----+-----+---------------------------------+------+--------+-----+-----+--------| - | | 3 | [[https://github.com/vlead/lab-data-service/milestone/8][8]] | | [[https://github.com/vlead/lab-data-service/milestone/8][Update missing labs]] | [[Add information for missing labs][ref]] | Closed | 153 | 96 | [[https://github.com/vlead/lab-data-service/issues?q=is%253Aclosed+milestone%253A%2522Updating+LDS+with+177+Labs+data+and+adding+new+Features%252FEnhancements++%2522][ref]] | + | | 3 | [[https://github.com/vlead/lab-data-service/milestone/8][8]] | | [[https://github.com/vlead/lab-data-service/milestone/8][Update missing labs]] | [[Add information for missing labs][ref]] | Closed | 152 | 96 | [[https://github.com/vlead/lab-data-service/issues?q=is%253Aclosed+milestone%253A%2522Updating+LDS+with+177+Labs+data+and+adding+new+Features%252FEnhancements++%2522][ref]] | |---+----+----+-----+---------------------------------+------+--------+-----+-----+--------| | | 4 | [[https://github.com/vlead/lab-data-service/milestone/7][7]] | | [[https://github.com/vlead/lab-data-service/milestone/7][Bug fix release]] | | Closed | | | [[https://github.com/vlead/lab-data-service/issues?q=is%253Aclosed+milestone%253A%2522Bug+fix+release%2522][ref]] | |---+----+----+-----+---------------------------------+------+--------+-----+-----+--------| @@ -35,12 +35,12 @@ |---+----+----+-----+---------------------------------+------+--------+-----+-----+--------| | | 9 | [[https://github.com/vlead/lab-data-service/milestone/1][1]] | | [[https://github.com/vlead/lab-data-service/milestone/1][Create the data model]] | | Closed | | | [[https://github.com/vlead/lab-data-service/issues?q=is%253Aclosed+milestone%253A%2522Lab+data+service+should+able+to+provide+the+search+by+lab+name%252C+institute+and+disciplines%2522][ref]] | |---+----+----+-----+---------------------------------+------+--------+-----+-----+--------| - | | | | | Total | | | 153 | 96 | | + | | | | | Total | | | 152 | 96 | | | ^ | | | | | | | et | at | | |---+----+----+-----+---------------------------------+------+--------+-----+-----+--------| #+TBLFM: $2=@#-2 - #+TBLFM: @6$8=remote(tbl-rlz-pln-ml-8, $estimated) - #+TBLFM: @6$9=remote(tbl-rlz-pln-ml-8, $actual) + #+TBLFM: @5$8=remote(tbl-rlz-pln-ml-8, $estimated) + #+TBLFM: @5$9=remote(tbl-rlz-pln-ml-8, $actual) #+TBLFM: $et=vsum(@II+1..@-1) #+TBLFM: $at=vsum(@II+1..@-1) @@ -54,7 +54,7 @@ 2. Implementation of 'Migration' Script. 3. Implementation of 'Backup' and 'Restore' Scripts. - #+caption: realization-plan + #+caption: realization-plan-ml-8 #+name: tbl-rlz-pln-ml-8 |---+----+--------------------------+--------+-----------+--------+------------+------------+--------+-----------| | | S. | Tasks | Github | Expected | Actual | Estimated | Actual | Status | Assignee | @@ -81,7 +81,7 @@ | | | on Testing and | | | | | | | | | | | Staging Environments | | | | | | | | |---+----+--------------------------+--------+-----------+--------+------------+------------+--------+-----------| - | | | Total | | 153 | 96 | | | | | + | | | Total | | 152 | 96 | | | | | | ^ | | | | estimated | actual | | | | | |---+----+--------------------------+--------+-----------+--------+------------+------------+--------+-----------| #+TBLFM: $estimated=vsum(@II+1..@-1) From 11896c3e5a001e0ddc3410845e31337e675c51bd Mon Sep 17 00:00:00 2001 From: Thirumal Ravula Date: Mon, 20 Nov 2017 12:28:05 +0530 Subject: [PATCH 058/105] plan reworked --- src/realization-plan/index.org | 52 +++++++++++++++++----------------- 1 file changed, 26 insertions(+), 26 deletions(-) diff --git a/src/realization-plan/index.org b/src/realization-plan/index.org index 7d347f6..931d1ad 100644 --- a/src/realization-plan/index.org +++ b/src/realization-plan/index.org @@ -10,34 +10,34 @@ * Introduction This document contains the realization plan for implementing the Lab Data Service. This application is - realized as series of [[https://github.com/vlead/lab-data-service/milestones?state=closed][milestones]]. + realized as series of [[https://github.com/vlead/lab-data-service/milestones?state=closed][milestones]]. * Milestones Snapshot - |---+----+----+-----+---------------------------------+------+--------+-----+-----+--------| - | | S. | Mi | Req | Milestone | Plan | Status | Est | Act | Issues | - | | no | no | Map | | | | hrs | hrs | | - |---+----+----+-----+---------------------------------+------+--------+-----+-----+--------| - | | 1 | [[https://github.com/vlead/lab-data-service/milestone/6][6]] | | [[https://github.com/vlead/lab-data-service/milestone/6][LDS to work with nosql]] | | Open | | | [[https://github.com/vlead/lab-data-service/milestones/Migrating%2520LDS%2520service%2520backend%2520from%2520mysql%2520to%2520nosql%2520(monodb)][ref]] | - |---+----+----+-----+---------------------------------+------+--------+-----+-----+--------| - | | 2 | [[https://github.com/vlead/lab-data-service/milestone/9][9]] | | [[https://github.com/vlead/lab-data-service/milestone/9][Pagination]] | | Closed | | | [[https://github.com/vlead/lab-data-service/milestone/9?closed=1][ref]] | - |---+----+----+-----+---------------------------------+------+--------+-----+-----+--------| - | | 3 | [[https://github.com/vlead/lab-data-service/milestone/8][8]] | | [[https://github.com/vlead/lab-data-service/milestone/8][Update missing labs]] | [[Add information for missing labs][ref]] | Closed | 152 | 96 | [[https://github.com/vlead/lab-data-service/issues?q=is%253Aclosed+milestone%253A%2522Updating+LDS+with+177+Labs+data+and+adding+new+Features%252FEnhancements++%2522][ref]] | - |---+----+----+-----+---------------------------------+------+--------+-----+-----+--------| - | | 4 | [[https://github.com/vlead/lab-data-service/milestone/7][7]] | | [[https://github.com/vlead/lab-data-service/milestone/7][Bug fix release]] | | Closed | | | [[https://github.com/vlead/lab-data-service/issues?q=is%253Aclosed+milestone%253A%2522Bug+fix+release%2522][ref]] | - |---+----+----+-----+---------------------------------+------+--------+-----+-----+--------| - | | 5 | [[https://github.com/vlead/lab-data-service/milestone/5][5]] | | [[https://github.com/vlead/lab-data-service/milestone/5][New specification structure]] | | Closed | | | [[https://github.com/vlead/lab-data-service/issues?q=is%253Aclosed+milestone%253A%2522Enhancements+in+the+LDS+according+to+the+new+lab+specification+structure+-+Release+version+V1.1.0%2522][ref]] | - |---+----+----+-----+---------------------------------+------+--------+-----+-----+--------| - | | 6 | [[https://github.com/vlead/lab-data-service/milestone/4][4]] | | [[https://github.com/vlead/lab-data-service/milestone/4][Address Review Comments]] | | Closed | | | [[https://github.com/vlead/lab-data-service/issues?q=is%253Aclosed+milestone%253A%2522Complete+funtionality+of+Lab+Data+Service+with+the+fixing+of+review+comments%2522][ref]] | - |---+----+----+-----+---------------------------------+------+--------+-----+-----+--------| - | | 7 | [[https://github.com/vlead/lab-data-service/milestone/3][3]] | | [[https://github.com/vlead/lab-data-service/milestone/3][Realize for experiment entity]] | | Closed | | | [[https://github.com/vlead/lab-data-service/issues?q=is%253Aclosed+milestone%253A%2522Next+release+of+Lab+Data+Service+with+experiments+integrated%2522][ref]] | - |---+----+----+-----+---------------------------------+------+--------+-----+-----+--------| - | | 8 | [[https://github.com/vlead/lab-data-service/milestone/2][2]] | | [[https://github.com/vlead/lab-data-service/milestone/2][Capture details of missing labs]] | | Closed | | | [[https://github.com/vlead/lab-data-service/issues?q=is%253Aclosed+milestone%253A%2522Creation+of+Lab-specifications+for+all+the+labs%2522][ref]] | - |---+----+----+-----+---------------------------------+------+--------+-----+-----+--------| - | | 9 | [[https://github.com/vlead/lab-data-service/milestone/1][1]] | | [[https://github.com/vlead/lab-data-service/milestone/1][Create the data model]] | | Closed | | | [[https://github.com/vlead/lab-data-service/issues?q=is%253Aclosed+milestone%253A%2522Lab+data+service+should+able+to+provide+the+search+by+lab+name%252C+institute+and+disciplines%2522][ref]] | - |---+----+----+-----+---------------------------------+------+--------+-----+-----+--------| - | | | | | Total | | | 152 | 96 | | - | ^ | | | | | | | et | at | | - |---+----+----+-----+---------------------------------+------+--------+-----+-----+--------| + |---+----+----+-----+---------------------------------+------+--------+-----------+----------+--------| + | | S. | Mi | Req | Milestone | Plan | Status | Est | Act | Issues | + | | no | no | Map | | | | hrs | hrs | | + |---+----+----+-----+---------------------------------+------+--------+-----------+----------+--------| + | | 1 | [[https://github.com/vlead/lab-data-service/milestone/6][6]] | | [[https://github.com/vlead/lab-data-service/milestone/6][LDS to work with nosql]] | | Open | | | [[https://github.com/vlead/lab-data-service/milestones/Migrating%2520LDS%2520service%2520backend%2520from%2520mysql%2520to%2520nosql%2520(monodb)][ref]] | + |---+----+----+-----+---------------------------------+------+--------+-----------+----------+--------| + | | 2 | [[https://github.com/vlead/lab-data-service/milestone/9][9]] | | [[https://github.com/vlead/lab-data-service/milestone/9][Pagination]] | | Closed | | | [[https://github.com/vlead/lab-data-service/milestone/9?closed=1][ref]] | + |---+----+----+-----+---------------------------------+------+--------+-----------+----------+--------| + | | 3 | [[https://github.com/vlead/lab-data-service/milestone/8][8]] | | [[https://github.com/vlead/lab-data-service/milestone/8][Update missing labs]] | [[Add information for missing labs][ref]] | Closed | 152 | 96 | [[https://github.com/vlead/lab-data-service/issues?q=is%253Aclosed+milestone%253A%2522Updating+LDS+with+177+Labs+data+and+adding+new+Features%252FEnhancements++%2522][ref]] | + |---+----+----+-----+---------------------------------+------+--------+-----------+----------+--------| + | | 4 | [[https://github.com/vlead/lab-data-service/milestone/7][7]] | | [[https://github.com/vlead/lab-data-service/milestone/7][Bug fix release]] | | Closed | | | [[https://github.com/vlead/lab-data-service/issues?q=is%253Aclosed+milestone%253A%2522Bug+fix+release%2522][ref]] | + |---+----+----+-----+---------------------------------+------+--------+-----------+----------+--------| + | | 5 | [[https://github.com/vlead/lab-data-service/milestone/5][5]] | | [[https://github.com/vlead/lab-data-service/milestone/5][New specification structure]] | | Closed | | | [[https://github.com/vlead/lab-data-service/issues?q=is%253Aclosed+milestone%253A%2522Enhancements+in+the+LDS+according+to+the+new+lab+specification+structure+-+Release+version+V1.1.0%2522][ref]] | + |---+----+----+-----+---------------------------------+------+--------+-----------+----------+--------| + | | 6 | [[https://github.com/vlead/lab-data-service/milestone/4][4]] | | [[https://github.com/vlead/lab-data-service/milestone/4][Address Review Comments]] | | Closed | | | [[https://github.com/vlead/lab-data-service/issues?q=is%253Aclosed+milestone%253A%2522Complete+funtionality+of+Lab+Data+Service+with+the+fixing+of+review+comments%2522][ref]] | + |---+----+----+-----+---------------------------------+------+--------+-----------+----------+--------| + | | 7 | [[https://github.com/vlead/lab-data-service/milestone/3][3]] | | [[https://github.com/vlead/lab-data-service/milestone/3][Realize for experiment entity]] | | Closed | | | [[https://github.com/vlead/lab-data-service/issues?q=is%253Aclosed+milestone%253A%2522Next+release+of+Lab+Data+Service+with+experiments+integrated%2522][ref]] | + |---+----+----+-----+---------------------------------+------+--------+-----------+----------+--------| + | | 8 | [[https://github.com/vlead/lab-data-service/milestone/2][2]] | | [[https://github.com/vlead/lab-data-service/milestone/2][Capture details of missing labs]] | | Closed | | | [[https://github.com/vlead/lab-data-service/issues?q=is%253Aclosed+milestone%253A%2522Creation+of+Lab-specifications+for+all+the+labs%2522][ref]] | + |---+----+----+-----+---------------------------------+------+--------+-----------+----------+--------| + | | 9 | [[https://github.com/vlead/lab-data-service/milestone/1][1]] | | [[https://github.com/vlead/lab-data-service/milestone/1][Create the data model]] | | Closed | | | [[https://github.com/vlead/lab-data-service/issues?q=is%253Aclosed+milestone%253A%2522Lab+data+service+should+able+to+provide+the+search+by+lab+name%252C+institute+and+disciplines%2522][ref]] | + |---+----+----+-----+---------------------------------+------+--------+-----------+----------+--------| + | | | | | Total | | | 152 + m8e | 96 + m8a | | + | ^ | | | | | | | et | at | | + |---+----+----+-----+---------------------------------+------+--------+-----------+----------+--------| #+TBLFM: $2=@#-2 #+TBLFM: @5$8=remote(tbl-rlz-pln-ml-8, $estimated) #+TBLFM: @5$9=remote(tbl-rlz-pln-ml-8, $actual) From 9701d57da6286f5a89ad3a40a3a98692e5ae0f30 Mon Sep 17 00:00:00 2001 From: madhavi Date: Tue, 19 Dec 2017 16:25:16 +0530 Subject: [PATCH 059/105] update configuration file --- src/deployment/index.org | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/deployment/index.org b/src/deployment/index.org index aab461c..3dbd771 100755 --- a/src/deployment/index.org +++ b/src/deployment/index.org @@ -430,7 +430,7 @@ ABS_PATH_DS=$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd ) update_app_config () { CONFIG_FILE="../runtime/config/flask_app_config.py" DB_USER="root" - DB_PASS=$(cat db_pass.txt) + DB_PASS="root" DB_NAME="lds" DB_SERVER="localhost" From 286f69127fd07bd1ed6c675facdce5b97cad7966 Mon Sep 17 00:00:00 2001 From: Thirumal Ravula Date: Tue, 19 Dec 2017 11:41:44 +0000 Subject: [PATCH 060/105] install dependencies that are necessary --- src/deployment/index.org | 31 +++++++++---------- .../run-lds-in-development-environment.org | 4 +-- 2 files changed, 16 insertions(+), 19 deletions(-) diff --git a/src/deployment/index.org b/src/deployment/index.org index 2178c33..88fc232 100755 --- a/src/deployment/index.org +++ b/src/deployment/index.org @@ -18,11 +18,14 @@ from setuptools import setup requires = [ + 'Flask', + 'Flask-SQLAlchemy', 'oursql', + 'Flask-cors', + 'Flask-testing', 'requests', 'pyyaml' - -] +] setup( name='lds', @@ -211,11 +214,11 @@ post_lab_spec(lab_file_list[0]) ** Migration Steps 1) create database lds_old 2) restoring the dump -#+BEGIN_SRC +#+BEGIN_SRC sh mysql -u root -p lds_old < lds.sql #+END_SRC 3) create the schema -#+BEGIN_SRC +#+BEGIN_SRC sh create table asset_type(id int(11) auto_increment, asset_type varchar(255) unique, primary key(id)); select distinct asset_type from asset; insert into asset_type (asset_type) values("image"); @@ -227,25 +230,25 @@ FOREIGN KEY (PersonID) REFERENCES Persons(PersonID) alter table experiment drop column lb_id; #+END_SRC 4) update config file with lds_old database -#+BEGIN_SRC +#+BEGIN_SRC sh SQLALCHEMY_DATABASE_URI = 'mysql+oursql://root:root@localhost/lds_old' #+END_SRC 5) run the app -#+BEGIN_SRC +#+BEGIN_SRC sh cd build/code/runtime/rest python app.py #+END_SRC 6) run the migration script -#+BEGIN_SRC +#+BEGIN_SRC sh cd build/code/deployment python migration.py #+END_SRC 7) drop table asset_old -#+BEGIN_SRC +#+BEGIN_SRC sh drop table asset_old #+END_SRC 8) backup the new mysql dump -#+BEGIN_SRC +#+BEGIN_SRC sh mysqldump -u root -proot lds_old > lds.sql #+END_SRC ** Migration Script @@ -321,7 +324,7 @@ if __name__ == "__main__": #+END_SRC * program to add 'phase' entity ** Manual Steps -#+BEGIN_SRC +#+BEGIN_SRC sh create table phase(id int(11) auto_increment, phase_id int(11) unique, primary key(id)); create table labs_phase(labid int(11), foreign key (labid) references lab(id), phase_id int(11), foreign key(phase_id) references phase(id)); #+END_SRC @@ -433,13 +436,7 @@ wget https://pypi.python.org/packages/8c/88/9f53a314a2af6f56c0a1249c5673ee384b85 tar xvf oursql-0.9.3.2.tar.gz cd oursql-0.9.3.2 python setup.py install -pip install Flask Flask-SQLAlchemy oursql requests flask-cors\ - Werkzeug urllib3 SQLAlchemy six requests-oauthlib asn1crypto\ - certifi cffi chardet click client cryptography enum34 Flask\ - Flask-Cors Flask-Login Flask-OAuth Flask-OAuthlib\ - Flask-Testing http httplib2 idna ipaddress itsdangerous\ - Jinja2 MarkupSafe oauth2 oauthlib oursql pycparser\ - pyOpenSSL PyYAML requests flask-cors Flask-SQLAlchemy +pip install flask Flask-SQLAlchemy oursql flask-cors flask-testing requests pyyaml if [[ $? -ne 0 ]]; then echo "FATAL: Installation failed!" diff --git a/src/deployment/run-lds-in-development-environment.org b/src/deployment/run-lds-in-development-environment.org index 678cf7f..4f1d5eb 100755 --- a/src/deployment/run-lds-in-development-environment.org +++ b/src/deployment/run-lds-in-development-environment.org @@ -22,9 +22,9 @@ Exit out of the mysql console - Get the mysql dump file for the given version from - [[files.vlabs.ac.in/lds]] + [[http://files.vlabs.ac.in/lds]] #+BEGIN_EXAMPLE - wget http://files.vlabs.ac.in/lds/lds-v2.0.0-2017-09-07.sql + wget http://files.vlabs.ac.in/lds/lds-latest-dump-19-12-2017.sql #+END_EXAMPLE - Restore Dump in Database #+BEGIN_EXAMPLE From 4d042cb5576bf8985f9f87ada4d232e20e7750ed Mon Sep 17 00:00:00 2001 From: Thirumal Ravula Date: Tue, 19 Dec 2017 11:50:02 +0000 Subject: [PATCH 061/105] setup files changed --- src/deployment/index.org | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/deployment/index.org b/src/deployment/index.org index ca6924c..48a1e85 100755 --- a/src/deployment/index.org +++ b/src/deployment/index.org @@ -436,7 +436,7 @@ wget https://pypi.python.org/packages/8c/88/9f53a314a2af6f56c0a1249c5673ee384b85 tar xvf oursql-0.9.3.2.tar.gz cd oursql-0.9.3.2 python setup.py install -pip install flask Flask-SQLAlchemy oursql flask-cors flask-testing requests pyyaml +pip install Flask Flask-SQLAlchemy oursql Flask-cors Flask-testing requests pyyaml if [[ $? -ne 0 ]]; then echo "FATAL: Installation failed!" From 2094dccfcbcb97f71586270ca448e5285e09b448 Mon Sep 17 00:00:00 2001 From: madhavi Date: Tue, 19 Dec 2017 18:15:57 +0530 Subject: [PATCH 062/105] update os version from ubuntu 12 to ubuntu 14 --- scripts/labspec.json | 4 +- src/runtime/rest/api.org | 221 +++++---------------------------------- 2 files changed, 31 insertions(+), 194 deletions(-) diff --git a/scripts/labspec.json b/scripts/labspec.json index f55a7c0..80eb7c4 100644 --- a/scripts/labspec.json +++ b/scripts/labspec.json @@ -59,7 +59,7 @@ "build_requirements": { "platform": { "os": "ubuntu", - "osVersion": "12", + "osVersion": "14", "arch": "x64", "service_pack": "", "installer": [ @@ -83,7 +83,7 @@ "runtime_requirements": { "platform": { "os": "ubuntu", - "osVersion": "12", + "osVersion": "14", "arch": "x64", "servicepack": "", "hosting": "dedicated", diff --git a/src/runtime/rest/api.org b/src/runtime/rest/api.org index d5ed448..53bdf2c 100755 --- a/src/runtime/rest/api.org +++ b/src/runtime/rest/api.org @@ -15,68 +15,6 @@ * REST -** Pagination support for Get Request -*** Function Design - - This function will allow us to enable pagination of out REST APIs. - It is supposed to take in four arguments that will be total object list - provied along with the starting integer and a limiting integer. - - This is supposed to check for size conditions and generate a previous - data and next available data link too - - This function will allow us to enable pagination of - our REST APIs i.e. it will send as many number of - objects as the user wants to see and not all the - objects together. It is supposed to take in four - arguments that will be total object list provided - along with the starting integer and a limiting - integer. - - The starting integer denotes the number of the object - from which the user wants to start the display. - - The limiting integer specifies the maximum number of - objects the user wants to display on a particular page - and if nothing is specified as the limiting integer - then, 25 is taken as the default value. - - The function uses a variable "count" to represent the - total number of objects being displayed on a - particular page. - - The function checks for different conditions on - "count" and accordingly displays the previous and the - next page links. - - The response is stored and returned as a jsonified - object. - -*** Function Definition - #+NAME: pagination - #+BEGIN_SRC python -def pagination(klass, url, start, limit): - data = {} - count = len(klass) - data['currentPage'] = start - data['pageSize'] = limit - data['totalCount'] = count - - if count < start: - data['nextPageLink'] = None - data['previousPageLink'] = url + 'page=%d' % (count-limit) - response = make_response(jsonify(None)) - else: - if start == 1: - data['previousPageLink'] = None - else: - prev_start = max(1, start - limit) - data['previousPageLink'] = url + 'page=%d' % (prev_start) - - if start + limit > count: - data['nextPageLink'] = None - else: - data['nextPageLink'] = url + 'page=%d' % (start + limit) - - response = make_response(jsonify(klass[(start - 1):(start - 1 + limit)])) - - response.headers['X-Pagination'] = data - return response - -#+END_SRC - ** Get Labs, Get Lab, Get Labs by institute, lab_name, discipline and asset and Get labs by passing lab_name as keyword *** API Designs @@ -1109,12 +1047,7 @@ def get_lab(): try: current_app.logger.debug("running operation get_labs_by_lab_name") labs = SystemInterface.get_labs_by_lab_name(lab_name) - return pagination( - labs, - '/labs?lab_name='+lab_name+'&', - start=int(request.args.get('page', 1)), - limit=int(request.args.get('pageSize', 25)) - ) + return jsonify(labs) except TypeError as e: current_app.logger.error("Exception = %s" % str(e)) @@ -1151,12 +1084,7 @@ def get_lab(): current_app.logger.debug("running operation get_labs_by_institute") labs = SystemInterface.get_labs_by_institute(institute_name) current_app.logger.debug("completed operation get_labs_by_institute") - return pagination( - labs, - '/labs?institute_name='+institute_name+'&', - start=int(request.args.get('page', 1)), - limit=int(request.args.get('pageSize', 25)) - ) + return jsonify_list(labs) except TypeError as e: current_app.logger.error("Exception = %s" % str(e)) @@ -1193,12 +1121,7 @@ def get_lab(): current_app.logger.debug("running operation get_labs_by_discipline") labs = SystemInterface.get_labs_by_discipline(discipline_name) current_app.logger.debug("completed operation get_labs_by_discipline") - return pagination( - labs, - '/labs?discipline_name='+discipline_name+'&', - start=int(request.args.get('page', 1)), - limit=int(request.args.get('pageSize', 25)) - ) + return jsonify_list(labs) except TypeError as e: current_app.logger.error("Exception = %s" % str(e)) @@ -1235,13 +1158,7 @@ def get_lab(): current_app.logger.debug("running operation get_labs_by_asset") labs = SystemInterface.get_labs_by_asset(asset_type) current_app.logger.debug("completed operation get_labs_by_asset") - return pagination( - labs, - '/labs?asset_type='+asset_type+'&', - start=int(request.args.get('page', 1)), - limit=int(request.args.get('pageSize', 25)) - ) - + return jsonify_list(labs) except TypeError as e: current_app.logger.error("Exception = %s" % str(e)) @@ -1280,12 +1197,7 @@ def get_lab(): labs = SystemInterface.get_labs_by_keyword_lab_name(keyword) current_app.logger.debug("completed operation get_labs_by_" " keyword_lab_name") - return pagination( - labs, - '/labs?keyword_lab_name='+keyword+'&', - start=int(request.args.get('page', 1)), - limit=int(request.args.get('pageSize', 25)) - ) + return jsonify_list(labs) except TypeError as e: current_app.logger.error("Exception = %s" % str(e)) @@ -1321,12 +1233,7 @@ def get_lab(): current_app.logger.debug("running operation get_labs") labs = SystemInterface.get_labs() current_app.logger.debug("completed operation get_labs") - return pagination( - labs, - '/labs?', - start=int(request.args.get('page', 1)), - limit=int(request.args.get('pageSize', 25)) - ) + return jsonify_list(labs) except TypeError as e: current_app.logger.error("Exception = %s" % str(e)) @@ -1516,7 +1423,6 @@ class TestGetLab(TestCase): "overview": "overview", "discipline_id": "CSE", "institute_id": "IITK", - "phase":[{"phase_id":1, "phase_id":2}], "developers": [ { "name": "Dinesh Malviya", @@ -1726,7 +1632,6 @@ class TestGetLabbyLabId(TestCase): "overview": "overview", "discipline_id": "CSE", "institute_id": "IITK", - "phase":[{"phase_id":1, "phase_id":2}], "developers": [ { "name": "Dinesh Malviya", @@ -1933,7 +1838,6 @@ class TestGetLabsbyInstitute(TestCase): "overview": "overview", "discipline_id": "CSE", "institute_id": "IITK", - "phase":[{"phase_id":1, "phase_id":2}], "developers": [ { "name": "Dinesh Malviya", @@ -2142,7 +2046,6 @@ class TestGetLabsbyDiscipline(TestCase): "overview": "overview", "discipline_id": "CSE", "institute_id": "IITK", - "phase":[{"phase_id":1, "phase_id":2}], "developers": [ { "name": "Dinesh Malviya", @@ -2359,7 +2262,6 @@ class TestGetLabsbyLabName(TestCase): "overview": "overview", "discipline_id": "CSE", "institute_id": "IITK", - "phase":[{"phase_id":1, "phase_id":2}], "developers": [ { "name": "Prof. Dharamaja", @@ -2570,7 +2472,6 @@ class TestGetLabsbyAsset(TestCase): "overview": "overview", "discipline_id": "CSE", "institute_id": "IITK", - "phase":[{"phase_id":1, "phase_id":2}], "developers": [ { "name": "Dinesh Malviya", @@ -2769,7 +2670,6 @@ class TestGetLabbyLabNameKeyWord(TestCase): "overview": "overview", "discipline_id": "CSE", "institute_id": "IITK", - "phase":[{"phase_id":1, "phase_id":2}], "developers": [ { "name": "Prof. Dharamaja", @@ -2814,7 +2714,7 @@ class TestGetLabbyLabNameKeyWord(TestCase): #+END_SRC -** Add Lab +** Add Lab *** API Designs **** Add Lab :PROPERTIES: @@ -2836,7 +2736,6 @@ class TestGetLabbyLabNameKeyWord(TestCase): "overview": "overview", "discipline_id": "CSE", "institute_id": "IITK", - "phase":[{"phase_id":1, "phase_id":2}], "developers": [ { "name": "Dinesh Malviya", @@ -2951,7 +2850,6 @@ class TestGetLabbyLabNameKeyWord(TestCase): "institute_id": "iitk", "institute_name": "IIT Kanpur" }, - "phase":[{"phase_id":1, "phase_id":2}], "integration_status": { "id": "5", "integration_level": 4 @@ -3197,9 +3095,7 @@ class TestAddLab(TestCase): "name": "Computer Programming", "overview": "overview", "discipline_id": "CSE", - "phase":[{"phase_id":1, "phase_id":2}], "institute_id": "IITK", - "phase":[{"phase_id":1, "phase_id":2}], "developers": [ { "name": "Dinesh Malviya", @@ -3257,7 +3153,7 @@ class TestAddLab(TestCase): #+END_SRC -** Update Lab +** Update Lab *** API Design **** Update lab by labid :PROPERTIES: @@ -4056,7 +3952,6 @@ class TestAddLab(TestCase): "id": "1", "integration_level": 0 }, - "phase":[{"phase_id":1, "phase_id":2}], "lab_id": "cse02", "lab_name": "Computer Programming", "overview": "This lab deals with Computer Programming", @@ -4283,7 +4178,6 @@ class TestUpdateLab(TestCase): "overview": "overview", "discipline_id": "CSE", "institute_id": "IITK", - "phase":[{"phase_id":1, "phase_id":2}], "developers": [ { "name": "Prof. Dharamaja", @@ -4406,7 +4300,6 @@ class TestUpdateLab(TestCase): "overview": "cp overview", "discipline_id": "ECE", "institute_id": "IITKgp", - "phase":[{"phase_id":1, "phase_id":2}], "developers": [ { "name": "Prof. Pallavi Pawar", @@ -4656,12 +4549,7 @@ def get_institute(): current_app.logger.debug("running operation get_institutes") institutes = SystemInterface.get_institutes() current_app.logger.debug("completed operation get_institutes") - return pagination( - institutes, - '/institutes?', - start=int(request.args.get('page', 1)), - limit=int(request.args.get('pageSize', 25)) - ) + return jsonify_list(institutes) except TypeError as e: current_app.logger.error("Exception = %s" % str(e)) @@ -4956,7 +4844,7 @@ class TestAddInstitute(TestCase): #+END_SRC - + ** Get Disciplines and Get Discipline *** API Design **** Get all Disciplines @@ -5127,7 +5015,7 @@ http://localhost:5000/disciplines http://localhost:5000/disciplines?discipline_id=cse #+END_EXAMPLE -*** Implementation +*** Implementation REST API to get discipline. #+NAME: get_disciplines #+BEGIN_SRC python @@ -5178,12 +5066,7 @@ def get_discipline(): current_app.logger.debug("running operation get_disciplines") disciplines = SystemInterface.get_disciplines() current_app.logger.debug("completed operation get_disciplines") - return pagination( - disciplines, - '/disciplines?', - start=int(request.args.get('page', 1)), - limit=int(request.args.get('pageSize', 25)) - ) + return jsonify_list(disciplines) except TypeError as e: current_app.logger.error("Exception = %s" % str(e)) @@ -5835,12 +5718,7 @@ def get_experiment(): current_app.logger.debug("execute get_experiments") experiments = SystemInterface.get_experiments() current_app.logger.debug("executed get_experiments") - return pagination( - experiments, - '/experiments?', - start=int(request.args.get('page', 1)), - limit=int(request.args.get('pageSize', 25)) - ) + return jsonify_list(experiments) except NotAuthorizedError as e: current_app.logger.error("Exception = %s" % str(e)) @@ -5880,7 +5758,7 @@ def get_experiment(): abort(500, msg) #+END_SRC - + *** Test Cases **** TestGetExperiment #+NAME: test_get_Experiment @@ -6572,7 +6450,7 @@ class TestAddExperiment(TestCase): #+END_SRC - + ** Get Sections *** API Design **** Get all Sections @@ -6613,12 +6491,7 @@ def get_sections(): current_app.logger.debug("execute get_sections") sections = SystemInterface.get_sections() current_app.logger.debug("executed get_sections") - return pagination( - sections, - '/sections?', - start=int(request.args.get('page', 1)), - limit=int(request.args.get('pageSize', 25)) - ) + return jsonify_list(sections) except TypeError as e: current_app.logger.error("Exception = %s" % str(e)) @@ -6938,12 +6811,7 @@ def get_hosting_info(): current_app.logger.debug("execute get_hosting_info") hosting_info = SystemInterface.get_hosting_info() current_app.logger.debug("executed get_hosting_info") - return pagination( - hosting_info, - '/hosting_info?', - start=int(request.args.get('page', 1)), - limit=int(request.args.get('pageSize', 25)) - ) + return jsonify_list(hosting_info) except NotAuthorizedError as e: current_app.logger.error("Exception = %s" % str(e)) @@ -7294,7 +7162,6 @@ class TestDeleteLab(TestCase): "overview": "overview", "discipline_id": "CSE", "institute_id": "IITK", - "phase":[{"phase_id":1, "phase_id":2}], "developers": [ { "name": "Dinesh Malviya", @@ -7611,12 +7478,7 @@ def get_integration_status(): current_app.logger.debug("execute get_integration_status") integration_status = SystemInterface.get_integration_status() current_app.logger.debug("executed get_integration_status") - return pagination( - integration_status, - '/integration_status?', - start=int(request.args.get('page', 1)), - limit=int(request.args.get('pageSize', 25)) - ) + return jsonify_list(integration_status) except NotAuthorizedError as e: current_app.logger.error("Exception = %s" % str(e)) @@ -7900,12 +7762,7 @@ def get_email(): current_app.logger.debug("execute get_emails") emails = SystemInterface.get_emails() current_app.logger.debug("executed get_emails") - return pagination( - emails, - '/emails?', - start=int(request.args.get('page', 1)), - limit=int(request.args.get('pageSize', 25)) - ) + return jsonify_list(emails) except TypeError as e: current_app.logger.error("Exception = %s" % str(e)) @@ -7970,7 +7827,7 @@ class TestGetEmail(TestCase): #+END_SRC - + ** Add Email *** API Design **** Add Email @@ -8100,7 +7957,7 @@ class TestAddEmail(TestCase): #+END_SRC - + ** Get Names *** API Design **** Get all names @@ -8141,12 +7998,7 @@ def get_names(): current_app.logger.debug("execute get_names") names = SystemInterface.get_names() current_app.logger.debug("executed get_names") - return pagination( - names, - '/names?', - start=int(request.args.get('page', 1)), - limit=int(request.args.get('pageSize', 25)) - ) + return jsonify_list(names) except TypeError as e: current_app.logger.error("Exception = %s" % str(e)) @@ -8442,22 +8294,13 @@ def get_developer(): msg = {"status": "failure", "msg": err_str} abort(500, msg) -# elif 'start' in request.args and 'limit' in request.args: -# start=request.args['start'] -# limit=request.args['limit'] + else: try: current_app.logger.debug("execute get_developers") developers = SystemInterface.get_developers() current_app.logger.debug("executed get_developers") - return pagination( - developers, - '/developers?', - start=int(request.args.get('page', 1)), - limit=int(request.args.get('pageSize', 25)) - ) -# start=int(request.args.get('page', start)), -# limit=int(request.args.get('pageSize', limit)) + return jsonify_list(developers) except TypeError as e: current_app.logger.error("Exception = %s" % str(e)) @@ -11728,12 +11571,7 @@ def get_asset(): current_app.logger.debug("running operation get_assets") assets = SystemInterface.get_assets() current_app.logger.debug("completed operation get_assets") - return pagination( - assets, - '/assets?', - start=int(request.args.get('page', 1)), - limit=int(request.args.get('pageSize', 25)) - ) + return jsonify_list(assets) except TypeError as e: current_app.logger.error("Exception = %s" % str(e)) @@ -12248,7 +12086,7 @@ import os import requests import json from flask import session, render_template, Blueprint, request, \ - jsonify, abort, current_app, redirect, url_for, make_response + jsonify, abort, current_app, redirect, url_for from flask import Flask from runtime.utils.type_utils import jsonify_list from runtime.exceptions.custom_exceptions import * @@ -12259,7 +12097,7 @@ api = Blueprint('APIs', __name__) #+end_src - + ** tests *** Imports #+name: imports_for_tests @@ -12294,7 +12132,6 @@ if __name__ == '__main__': ** sources #+BEGIN_SRC python :tangle api.py :eval no :noweb yes <> -<> <> <> <> @@ -12341,7 +12178,7 @@ if __name__ == '__main__': #+END_SRC - + ** tests #+BEGIN_SRC python :tangle test_api.py :eval no :noweb yes <> @@ -12367,7 +12204,7 @@ if __name__ == '__main__': <> <> <> -<> +<> <> <> <> From 7a19e0bde00aed212fc2db16b73b60bfbdcec001 Mon Sep 17 00:00:00 2001 From: madhavi Date: Tue, 19 Dec 2017 18:18:09 +0530 Subject: [PATCH 063/105] update os version from ubuntu 14 to ubuntu 14.04 --- scripts/labspec.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/scripts/labspec.json b/scripts/labspec.json index 80eb7c4..e0ce197 100644 --- a/scripts/labspec.json +++ b/scripts/labspec.json @@ -59,7 +59,7 @@ "build_requirements": { "platform": { "os": "ubuntu", - "osVersion": "14", + "osVersion": "14.04", "arch": "x64", "service_pack": "", "installer": [ @@ -83,7 +83,7 @@ "runtime_requirements": { "platform": { "os": "ubuntu", - "osVersion": "14", + "osVersion": "14.04", "arch": "x64", "servicepack": "", "hosting": "dedicated", From feae2e26e016f4d1be7472b5fd732160e1374a57 Mon Sep 17 00:00:00 2001 From: madhavi Date: Tue, 19 Dec 2017 18:36:24 +0530 Subject: [PATCH 064/105] update apache default file in configure.sh --- scripts/labspec.json | 1 - src/deployment/index.org | 2 +- 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/scripts/labspec.json b/scripts/labspec.json index e0ce197..59a375c 100644 --- a/scripts/labspec.json +++ b/scripts/labspec.json @@ -98,7 +98,6 @@ "bash /var/www/deployment/setup.sh", "python /var/www/deployment/setup.py install", "bash /var/www/deployment/configure.sh", - "python /var/www/runtime/rest/cert.py", "PYTHONPATH=/var/www python /var/www/deployment/db_setup.py" ], "lab_actions": { diff --git a/src/deployment/index.org b/src/deployment/index.org index 48a1e85..ed9259b 100755 --- a/src/deployment/index.org +++ b/src/deployment/index.org @@ -500,7 +500,7 @@ update_app_config () { update_apache_config() { PROC_NAME="lds" WSGI_SCRIPT="lds.wsgi" - APACHE_VHOST_FILE="/etc/apache2/sites-available/default" + APACHE_VHOST_FILE="/etc/apache2/sites-available/000-default.conf" sed -i "/<\/VirtualHost>/i \ WSGIScriptAlias / $ABS_PATH_DS/$WSGI_SCRIPT From cf77b52cb75b6b1e86a092afb9610eab694d893d Mon Sep 17 00:00:00 2001 From: madhavi Date: Tue, 19 Dec 2017 18:38:32 +0530 Subject: [PATCH 065/105] update app.org --- src/runtime/rest/app.org | 51 ++++------------------------------------ 1 file changed, 5 insertions(+), 46 deletions(-) diff --git a/src/runtime/rest/app.org b/src/runtime/rest/app.org index 85cb83e..7d1161e 100755 --- a/src/runtime/rest/app.org +++ b/src/runtime/rest/app.org @@ -25,9 +25,8 @@ def create_app(config): app.secret_key = 'djfjsdkjXXS7979dfdfd' # load config values from the config file app.config.from_object(config) - app.config['CORS_HEADERS'] = 'Content-Type' - CORS(app) - cors = CORS(app, resources={r"/*": {"origins": "localhost:5000"}}) + app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = False + cors = CORS(app, resources={r"/*": {"origins": "*"}}) # init sqlalchemy db instance db.init_app(app) db.app = app @@ -35,35 +34,11 @@ def create_app(config): app.register_blueprint(api) configure_logging(app) configure_errorhandlers(app) - configure_cors(app) +# configure_cors(app) # all set; return app object configure_system() return app -def configure_cors(app): - @app.before_request - def before_request(): - if request.method == 'OPTIONS': - resp = app.make_default_options_response() - headers = None - if 'ACCESS_CONTROL_REQUEST_HEADERS' in request.headers: - headers = request.headers['ACCESS_CONTROL_REQUEST_HEADERS'] - resp_headers = resp.headers - resp_headers['Access-Control-Allow-Origin'] = request.headers['Origin'] - resp_headers['Access-Control-Allow-Methods'] = request.headers['Access-Control-Request-Method'] - resp_headers['Acess-Control-Max-Age'] = '10' - - if headers is not None: - resp_headers['Access-Control-Allow-Headers'] = headers - - resp.status_code = 204 - return resp - - @app.after_request - def after_request(response): - response.headers.add('Access-Control-Allow-Headers', 'Content-Type') - response.headers.add('Access-Control-Allow-Methods', 'GET,PUT,POST,DELETE') - return response #+END_SRC @@ -181,27 +156,11 @@ def configure_logging(app): #+NAME: run_server if __name__ == "__main__": app = create_app(config) - app.run(debug=True, host='localhost', port=5000, threaded=True, ssl_context = ('./ssl.crt', './ssl.key')) + app.run(debug=True, host='0.0.0.0', threaded=True) #+END_SRC -* SSL - We initially decided to host our app over =HTTPS= instead of =HTTP=. Hence in order to do so we need - SSL certificates for it. This function is supposed to create the required files for the developing. -** SSL_DEVCERT -#+NAME: ssl_devcert -#+BEGIN_SRC python :tangle cert.py - -from werkzeug.serving import make_ssl_devcert -make_ssl_devcert('./ssl', host='localhost') - -#+END_SRC - - - - - * Imports :boilerplate: #+NAME: imports @@ -216,7 +175,7 @@ from runtime.utils.class_persistence_template import db from runtime.rest.api import api from runtime.system.system_interface import SystemInterface from runtime.system.persistence_delegate import PersistenceDelegate -from flask import request + # import config file from runtime.config import flask_app_config as config from runtime.config.flask_app_config import LOG_FILE_DIRECTORY From 0af4293636d65fa98e06f9bfd01200e679dde25f Mon Sep 17 00:00:00 2001 From: Thirumal Ravula Date: Tue, 19 Dec 2017 13:17:49 +0000 Subject: [PATCH 066/105] tests fixed since current_app is out of context --- src/runtime/persistence/entities.org | 52 ++++ src/runtime/rest/api.org | 224 ++++++++++++++++ src/runtime/system/persistence-delegate.org | 4 + .../system/persistence-delegate.org_archive | 139 ---------- src/runtime/system/system-interface.org | 248 ++++++++++++++++++ .../system/system-with-persistence.org | 212 +++++++++++++++ src/runtime/system/system.org | 4 + src/runtime/utils/class-persistence.org | 4 + 8 files changed, 748 insertions(+), 139 deletions(-) delete mode 100644 src/runtime/system/persistence-delegate.org_archive diff --git a/src/runtime/persistence/entities.org b/src/runtime/persistence/entities.org index 56fad95..84d2d54 100755 --- a/src/runtime/persistence/entities.org +++ b/src/runtime/persistence/entities.org @@ -111,9 +111,13 @@ class TestPersistentLab(TestCase): return app def setUp(self): + app = self.create_app() + self.app_context = app.app_context() + self.app_context.push() db.create_all() def tearDown(self): + self.app_context.pop() db.session.remove() db.drop_all() @@ -342,9 +346,13 @@ class TestPersistenceExperiment(TestCase): return app def setUp(self): + app = self.create_app() + self.app_context = app.app_context() + self.app_context.push() db.create_all() def tearDown(self): + self.app_context.pop() db.session.remove() db.drop_all() @@ -473,9 +481,13 @@ class TestPersistenceInstitute(TestCase): return app def setUp(self): + app = self.create_app() + self.app_context = app.app_context() + self.app_context.push() db.create_all() def tearDown(self): + self.app_context.pop() db.session.remove() db.drop_all() @@ -551,9 +563,13 @@ class TestPersistenceDiscipline(TestCase): return app def setUp(self): + app = self.create_app() + self.app_context = app.app_context() + self.app_context.push() db.create_all() def tearDown(self): + self.app_context.pop() db.session.remove() db.drop_all() @@ -612,9 +628,13 @@ class TestPersistentSection(TestCase): return app def setUp(self): + app = self.create_app() + self.app_context = app.app_context() + self.app_context.push() db.create_all() def tearDown(self): + self.app_context.pop() db.session.remove() db.drop_all() @@ -659,9 +679,13 @@ class TestPersistentName(TestCase): return app def setUp(self): + app = self.create_app() + self.app_context = app.app_context() + self.app_context.push() db.create_all() def tearDown(self): + self.app_context.pop() db.session.remove() db.drop_all() @@ -705,9 +729,13 @@ class TestPersistentEmail(TestCase): return app def setUp(self): + app = self.create_app() + self.app_context = app.app_context() + self.app_context.push() db.create_all() def tearDown(self): + self.app_context.pop() db.session.remove() db.drop_all() @@ -752,9 +780,13 @@ class TestPersistentDeveloper(TestCase): return app def setUp(self): + app = self.create_app() + self.app_context = app.app_context() + self.app_context.push() db.create_all() def tearDown(self): + self.app_context.pop() db.session.remove() db.drop_all() @@ -800,9 +832,13 @@ class TestPersistentPhase(TestCase): return app def setUp(self): + app = self.create_app() + self.app_context = app.app_context() + self.app_context.push() db.create_all() def tearDown(self): + self.app_context.pop() db.session.remove() db.drop_all() @@ -850,9 +886,13 @@ class TestPersistenceHostingInfo(TestCase): return app def setUp(self): + app = self.create_app() + self.app_context = app.app_context() + self.app_context.push() db.create_all() def tearDown(self): + self.app_context.pop() db.session.remove() db.drop_all() @@ -899,9 +939,13 @@ class TestPersistentAssetType(TestCase): return app def setUp(self): + app = self.create_app() + self.app_context = app.app_context() + self.app_context.push() db.create_all() def tearDown(self): + self.app_context.pop() db.session.remove() db.drop_all() @@ -946,9 +990,13 @@ class TestPersistenceAsset(TestCase): return app def setUp(self): + app = self.create_app() + self.app_context = app.app_context() + self.app_context.push() db.create_all() def tearDown(self): + self.app_context.pop() db.session.remove() db.drop_all() @@ -1009,9 +1057,13 @@ class TestPersistenceIntegrationStatus(TestCase): return app def setUp(self): + app = self.create_app() + self.app_context = app.app_context() + self.app_context.push() db.create_all() def tearDown(self): + self.app_context.pop() db.session.remove() db.drop_all() diff --git a/src/runtime/rest/api.org b/src/runtime/rest/api.org index d5ed448..f7f7233 100755 --- a/src/runtime/rest/api.org +++ b/src/runtime/rest/api.org @@ -1371,9 +1371,13 @@ class TestGetLab(TestCase): return app def setUp(self): + app = self.create_app() + self.app_context = app.app_context() + self.app_context.push() db.create_all() def tearDown(self): + self.app_context.pop() db.session.remove() db.drop_all() @@ -1581,9 +1585,13 @@ class TestGetLabbyLabId(TestCase): return app def setUp(self): + app = self.create_app() + self.app_context = app.app_context() + self.app_context.push() db.create_all() def tearDown(self): + self.app_context.pop() db.session.remove() db.drop_all() @@ -1794,9 +1802,13 @@ class TestGetLabsbyInstitute(TestCase): return app def setUp(self): + app = self.create_app() + self.app_context = app.app_context() + self.app_context.push() db.create_all() def tearDown(self): + self.app_context.pop() db.session.remove() db.drop_all() @@ -2000,9 +2012,13 @@ class TestGetLabsbyDiscipline(TestCase): return app def setUp(self): + app = self.create_app() + self.app_context = app.app_context() + self.app_context.push() db.create_all() def tearDown(self): + self.app_context.pop() db.session.remove() db.drop_all() @@ -2208,9 +2224,13 @@ class TestGetLabsbyLabName(TestCase): return app def setUp(self): + app = self.create_app() + self.app_context = app.app_context() + self.app_context.push() db.create_all() def tearDown(self): + self.app_context.pop() db.session.remove() db.drop_all() @@ -2426,9 +2446,13 @@ class TestGetLabsbyAsset(TestCase): return app def setUp(self): + app = self.create_app() + self.app_context = app.app_context() + self.app_context.push() db.create_all() def tearDown(self): + self.app_context.pop() db.session.remove() db.drop_all() @@ -2638,9 +2662,13 @@ class TestGetLabbyLabNameKeyWord(TestCase): return app def setUp(self): + app = self.create_app() + self.app_context = app.app_context() + self.app_context.push() db.create_all() def tearDown(self): + self.app_context.pop() db.session.remove() db.drop_all() @@ -3053,9 +3081,13 @@ class TestAddLab(TestCase): return app def setUp(self): + app = self.create_app() + self.app_context = app.app_context() + self.app_context.push() db.create_all() def tearDown(self): + self.app_context.pop() db.session.remove() db.drop_all() @@ -4152,9 +4184,13 @@ class TestUpdateLab(TestCase): return app def setUp(self): + app = self.create_app() + self.app_context = app.app_context() + self.app_context.push() db.create_all() def tearDown(self): + self.app_context.pop() db.session.remove() db.drop_all() @@ -4705,9 +4741,13 @@ class TestGetInstitute(TestCase): return app def setUp(self): + app = self.create_app() + self.app_context = app.app_context() + self.app_context.push() db.create_all() def tearDown(self): + self.app_context.pop() db.session.remove() db.drop_all() @@ -4754,9 +4794,13 @@ class TestGetInstitute(TestCase): return app def setUp(self): + app = self.create_app() + self.app_context = app.app_context() + self.app_context.push() db.create_all() def tearDown(self): + self.app_context.pop() db.session.remove() db.drop_all() @@ -4918,9 +4962,13 @@ class TestAddInstitute(TestCase): return app def setUp(self): + app = self.create_app() + self.app_context = app.app_context() + self.app_context.push() db.create_all() def tearDown(self): + self.app_context.pop() db.session.remove() db.drop_all() @@ -5226,9 +5274,13 @@ class TestGetDiscipline(TestCase): return app def setUp(self): + app = self.create_app() + self.app_context = app.app_context() + self.app_context.push() db.create_all() def tearDown(self): + self.app_context.pop() db.session.remove() db.drop_all() @@ -5275,9 +5327,13 @@ class TestGetDisciplineByDisId(TestCase): return app def setUp(self): + app = self.create_app() + self.app_context = app.app_context() + self.app_context.push() db.create_all() def tearDown(self): + self.app_context.pop() db.session.remove() db.drop_all() @@ -5440,9 +5496,13 @@ class TestAddDiscipline(TestCase): return app def setUp(self): + app = self.create_app() + self.app_context = app.app_context() + self.app_context.push() db.create_all() def tearDown(self): + self.app_context.pop() db.session.remove() db.drop_all() @@ -5892,9 +5952,13 @@ class TestGetExperiment(TestCase): return app def setUp(self): + app = self.create_app() + self.app_context = app.app_context() + self.app_context.push() db.create_all() def tearDown(self): + self.app_context.pop() db.session.remove() db.drop_all() @@ -6044,9 +6108,13 @@ class TestGetExp(TestCase): return app def setUp(self): + app = self.create_app() + self.app_context = app.app_context() + self.app_context.push() db.create_all() def tearDown(self): + self.app_context.pop() db.session.remove() db.drop_all() @@ -6436,9 +6504,13 @@ class TestAddExperiment(TestCase): return app def setUp(self): + app = self.create_app() + self.app_context = app.app_context() + self.app_context.push() db.create_all() def tearDown(self): + self.app_context.pop() db.session.remove() db.drop_all() @@ -6662,9 +6734,13 @@ class TestGetSections(TestCase): return app def setUp(self): + app = self.create_app() + self.app_context = app.app_context() + self.app_context.push() db.create_all() def tearDown(self): + self.app_context.pop() db.session.remove() db.drop_all() @@ -6795,9 +6871,13 @@ class TestAddSection(TestCase): return app def setUp(self): + app = self.create_app() + self.app_context = app.app_context() + self.app_context.push() db.create_all() def tearDown(self): + self.app_context.pop() db.session.remove() db.drop_all() @@ -6994,9 +7074,13 @@ class TestGetHosting_Info(TestCase): return app def setUp(self): + app = self.create_app() + self.app_context = app.app_context() + self.app_context.push() db.create_all() def tearDown(self): + self.app_context.pop() db.session.remove() db.drop_all() @@ -7028,9 +7112,13 @@ class TestGetAssetByPath(TestCase): return app def setUp(self): + app = self.create_app() + self.app_context = app.app_context() + self.app_context.push() db.create_all() def tearDown(self): + self.app_context.pop() db.session.remove() db.drop_all() @@ -7151,9 +7239,13 @@ class TestDeleteLab(TestCase): return app def setUp(self): + app = self.create_app() + self.app_context = app.app_context() + self.app_context.push() db.create_all() def tearDown(self): + self.app_context.pop() db.session.remove() db.drop_all() @@ -7465,9 +7557,13 @@ class TestAddHosting_Info(TestCase): return app def setUp(self): + app = self.create_app() + self.app_context = app.app_context() + self.app_context.push() db.create_all() def tearDown(self): + self.app_context.pop() db.session.remove() db.drop_all() @@ -7667,9 +7763,13 @@ class TestGetIntegration_Status(TestCase): return app def setUp(self): + app = self.create_app() + self.app_context = app.app_context() + self.app_context.push() db.create_all() def tearDown(self): + self.app_context.pop() db.session.remove() db.drop_all() @@ -7799,9 +7899,13 @@ class TestAddIntegration_Status(TestCase): return app def setUp(self): + app = self.create_app() + self.app_context = app.app_context() + self.app_context.push() db.create_all() def tearDown(self): + self.app_context.pop() db.session.remove() db.drop_all() @@ -7948,9 +8052,13 @@ class TestGetEmail(TestCase): return app def setUp(self): + app = self.create_app() + self.app_context = app.app_context() + self.app_context.push() db.create_all() def tearDown(self): + self.app_context.pop() db.session.remove() db.drop_all() @@ -8080,9 +8188,13 @@ class TestAddEmail(TestCase): return app def setUp(self): + app = self.create_app() + self.app_context = app.app_context() + self.app_context.push() db.create_all() def tearDown(self): + self.app_context.pop() db.session.remove() db.drop_all() @@ -8190,9 +8302,13 @@ class TestGetNames(TestCase): return app def setUp(self): + app = self.create_app() + self.app_context = app.app_context() + self.app_context.push() db.create_all() def tearDown(self): + self.app_context.pop() db.session.remove() db.drop_all() @@ -8323,9 +8439,13 @@ class TestAddName(TestCase): return app def setUp(self): + app = self.create_app() + self.app_context = app.app_context() + self.app_context.push() db.create_all() def tearDown(self): + self.app_context.pop() db.session.remove() db.drop_all() @@ -8500,9 +8620,13 @@ class TestGetDeveloper(TestCase): return app def setUp(self): + app = self.create_app() + self.app_context = app.app_context() + self.app_context.push() db.create_all() def tearDown(self): + self.app_context.pop() db.session.remove() db.drop_all() @@ -8641,9 +8765,13 @@ class TestAddDeveloper(TestCase): return app def setUp(self): + app = self.create_app() + self.app_context = app.app_context() + self.app_context.push() db.create_all() def tearDown(self): + self.app_context.pop() db.session.remove() db.drop_all() @@ -8857,9 +8985,13 @@ class TestUpdateExperiment(TestCase): return app def setUp(self): + app = self.create_app() + self.app_context = app.app_context() + self.app_context.push() db.create_all() def tearDown(self): + self.app_context.pop() db.session.remove() db.drop_all() @@ -9214,9 +9346,13 @@ class TestUpdateSection(TestCase): return app def setUp(self): + app = self.create_app() + self.app_context = app.app_context() + self.app_context.push() db.create_all() def tearDown(self): + self.app_context.pop() db.session.remove() db.drop_all() @@ -9338,9 +9474,13 @@ class TestDeleteSection(TestCase): return app def setUp(self): + app = self.create_app() + self.app_context = app.app_context() + self.app_context.push() db.create_all() def tearDown(self): + self.app_context.pop() db.session.remove() db.drop_all() @@ -9461,9 +9601,13 @@ class TestGetSectionbyid(TestCase): return app def setUp(self): + app = self.create_app() + self.app_context = app.app_context() + self.app_context.push() db.create_all() def tearDown(self): + self.app_context.pop() db.session.remove() db.drop_all() @@ -9619,9 +9763,13 @@ class TestUpdateInstitute(TestCase): return app def setUp(self): + app = self.create_app() + self.app_context = app.app_context() + self.app_context.push() db.create_all() def tearDown(self): + self.app_context.pop() db.session.remove() db.drop_all() @@ -9781,9 +9929,13 @@ class TestDeleteInstitute(TestCase): return app def setUp(self): + app = self.create_app() + self.app_context = app.app_context() + self.app_context.push() db.create_all() def tearDown(self): + self.app_context.pop() db.session.remove() db.drop_all() @@ -9954,9 +10106,13 @@ class TestUpdateDiscipline(TestCase): return app def setUp(self): + app = self.create_app() + self.app_context = app.app_context() + self.app_context.push() db.create_all() def tearDown(self): + self.app_context.pop() db.session.remove() db.drop_all() @@ -10106,9 +10262,13 @@ class TestDeleteDiscipline(TestCase): return app def setUp(self): + app = self.create_app() + self.app_context = app.app_context() + self.app_context.push() db.create_all() def tearDown(self): + self.app_context.pop() db.session.remove() db.drop_all() @@ -10265,9 +10425,13 @@ class TestUpdateHosting_Info(TestCase): return app def setUp(self): + app = self.create_app() + self.app_context = app.app_context() + self.app_context.push() db.create_all() def tearDown(self): + self.app_context.pop() db.session.remove() db.drop_all() @@ -10418,9 +10582,13 @@ class TestUpdateDeveloper(TestCase): return app def setUp(self): + app = self.create_app() + self.app_context = app.app_context() + self.app_context.push() db.create_all() def tearDown(self): + self.app_context.pop() db.session.remove() db.drop_all() @@ -10431,9 +10599,13 @@ class TestUpdateDeveloper(TestCase): return app def setUp(self): + app = self.create_app() + self.app_context = app.app_context() + self.app_context.push() db.create_all() def tearDown(self): + self.app_context.pop() db.session.remove() db.drop_all() @@ -10620,9 +10792,13 @@ class TestDeleteHosting_Info(TestCase): return app def setUp(self): + app = self.create_app() + self.app_context = app.app_context() + self.app_context.push() db.create_all() def tearDown(self): + self.app_context.pop() db.session.remove() db.drop_all() @@ -10747,9 +10923,13 @@ class TestDeleteIntegration_Status(TestCase): return app def setUp(self): + app = self.create_app() + self.app_context = app.app_context() + self.app_context.push() db.create_all() def tearDown(self): + self.app_context.pop() db.session.remove() db.drop_all() @@ -10871,9 +11051,13 @@ class TestDeleteEmail(TestCase): return app def setUp(self): + app = self.create_app() + self.app_context = app.app_context() + self.app_context.push() db.create_all() def tearDown(self): + self.app_context.pop() db.session.remove() db.drop_all() @@ -11153,9 +11337,13 @@ class TestUpdateNameById(TestCase): return app def setUp(self): + app = self.create_app() + self.app_context = app.app_context() + self.app_context.push() db.create_all() def tearDown(self): + self.app_context.pop() db.session.remove() db.drop_all() @@ -11189,9 +11377,13 @@ class TestDeleteNameById(TestCase): return app def setUp(self): + app = self.create_app() + self.app_context = app.app_context() + self.app_context.push() db.create_all() def tearDown(self): + self.app_context.pop() db.session.remove() db.drop_all() @@ -11223,9 +11415,13 @@ class TestGetNamebyid(TestCase): return app def setUp(self): + app = self.create_app() + self.app_context = app.app_context() + self.app_context.push() db.create_all() def tearDown(self): + self.app_context.pop() db.session.remove() db.drop_all() @@ -11347,9 +11543,13 @@ class TestDeleteDeveloper(TestCase): return app def setUp(self): + app = self.create_app() + self.app_context = app.app_context() + self.app_context.push() db.create_all() def tearDown(self): + self.app_context.pop() db.session.remove() db.drop_all() @@ -11471,9 +11671,13 @@ class TestDeleteExperiment(TestCase): return app def setUp(self): + app = self.create_app() + self.app_context = app.app_context() + self.app_context.push() db.create_all() def tearDown(self): + self.app_context.pop() db.session.remove() db.drop_all() @@ -11776,9 +11980,13 @@ class TestGetAsset(TestCase): return app def setUp(self): + app = self.create_app() + self.app_context = app.app_context() + self.app_context.push() db.create_all() def tearDown(self): + self.app_context.pop() db.session.remove() db.drop_all() @@ -11809,9 +12017,13 @@ class TestGetAsset(TestCase): return app def setUp(self): + app = self.create_app() + self.app_context = app.app_context() + self.app_context.push() db.create_all() def tearDown(self): + self.app_context.pop() db.session.remove() db.drop_all() @@ -11945,9 +12157,13 @@ class TestAddAsset(TestCase): return app def setUp(self): + app = self.create_app() + self.app_context = app.app_context() + self.app_context.push() db.create_all() def tearDown(self): + self.app_context.pop() db.session.remove() db.drop_all() @@ -12082,9 +12298,13 @@ class TestUpdateAsset(TestCase): return app def setUp(self): + app = self.create_app() + self.app_context = app.app_context() + self.app_context.push() db.create_all() def tearDown(self): + self.app_context.pop() db.session.remove() db.drop_all() @@ -12211,9 +12431,13 @@ class TestDeleteAsset(TestCase): return app def setUp(self): + app = self.create_app() + self.app_context = app.app_context() + self.app_context.push() db.create_all() def tearDown(self): + self.app_context.pop() db.session.remove() db.drop_all() diff --git a/src/runtime/system/persistence-delegate.org b/src/runtime/system/persistence-delegate.org index bcf51be..2c8d994 100755 --- a/src/runtime/system/persistence-delegate.org +++ b/src/runtime/system/persistence-delegate.org @@ -54,10 +54,14 @@ class TestPersistenceDelegate(TestCase): return app def setUp(self): + app = self.create_app() + self.app_context = app.app_context() + self.app_context.push() db.create_all() self.persistence_delegate = PersistenceDelegate() def tearDown(self): + self.app_context.pop() db.session.remove() db.drop_all() self.persistence_delegate = None diff --git a/src/runtime/system/persistence-delegate.org_archive b/src/runtime/system/persistence-delegate.org_archive deleted file mode 100644 index 01f0252..0000000 --- a/src/runtime/system/persistence-delegate.org_archive +++ /dev/null @@ -1,139 +0,0 @@ -# -*- mode: org -*- - - -Archived entries from file /home/osboxes/vlabs/lab-data-service/src/runtime/system/persistence-delegate.org - - -* Tests - :PROPERTIES: - :ARCHIVE_TIME: 2017-03-08 Wed 20:36 - :ARCHIVE_FILE: ~/vlabs/lab-data-service/src/runtime/system/persistence-delegate.org - :ARCHIVE_OLPATH: Persistence Delegate/Other functions/Update lab - :ARCHIVE_CATEGORY: persistence-delegate - :END: -#+NAME: test_persistence_update_lab -#+BEGIN_SRC python - def test_update_lab(self): - print "test_update_lab" - lab_name = "Data Structures" - lab_id = "cse01" - overview = "overview lab" - experiments = [] - - asset_type = "Image" - path = "vlabs.ac.in/images/static/logo.png" - asset = Asset(asset_type=asset_type, path=path) - asset.save() - - inst_name = "IIT Kanpur" - inst_id = "IITK" - inst = Institute(inst_name=inst_name, inst_id=inst_id, assets=[asset]) - inst.save() - - dis_name = "Electronics & Communications" - dis_id = "IITK" - discipline = Discipline(dis_name=dis_name, dis_id=dis_id, - assets=[asset]) - discipline.save() - - integration_level = 4 - integration_status = IntegrationStatus(integration_level= - integration_level) - integration_status.save() - - dev_name = Name(name="Mohit Tahiliani") - dev_name.save() - email_id = Email(email="mohit.tahiliani@gmail.com") - email_id.save() - dev = Developer(name=dev_name, email=email_id, - institute=inst, discipline=discipline) - dev.save() - - hosting_status = "hosted" - hosted_url = "http://cse14-iiith.vlabs.ac.in" - hosted_on = "cloud" - host = HostingInfo(hosting_status=hosting_status, -<<<<<<< HEAD - hosted_url=hosted_url, - hosted_on=hosted_on) - host.save() - - lab = Lab(lab_name=lab_name, lab_id=lab_id, overview=overview, - institute=inst, discipline=discipline, - assets=[asset], hosting_info=[host], - experiments=experiments, developers=[dev], - integration_status=integration_status) - - lab1 = self.persistence_delegate.add_lab(lab) - lab_name1 = "Computer Programming" - overview1 = "overview" - - inst_name1 = "IIT Kharagpur" - inst_id1 = "IITKgp" - inst1 = Institute(inst_name=inst_name1, inst_id=inst_id1, - assets=[asset]) - inst1.save() - - dis_name1 = "Computer Science & Engineering" - dis_id1 = "IIT Kharagpur" - discipline1 = Discipline(dis_name=dis_name1, dis_id=dis_id1, - assets=[asset]) - discipline1.save() - - integration_level1 = 2 - integration_status1 = IntegrationStatus(integration_level=\ - integration_level1) - integration_status1.save() - - hosting_status1 = "hosted" - hosted_url1 = "http://cse13-iiith.vlabs.ac.in" - hosted_on1 = "cloud" - host1 = HostingInfo(hosting_status=hosting_status1, - hosted_url=hosted_url1, - hosted_on=hosted_on1) - host1.save() - - dev_name1 = Name(name="Tahiliani") - dev_name1.save() - email_id1 = Email(email="tahiliani@gmail.com") - email_id1.save() - dev1 = Developer(name=dev_name1, email=email_id1, - institute=inst1, discipline=discipline1) - dev1.save() - - asset_type1 = "Image" - path1 = "vlabs.ac.in/images/static/image.png" - asset1 = Asset(asset_type=asset_type1, path=path1) - asset1.save() - - lab2 = self.persistence_delegate.update_lab\ - (lab1, lab_name1, overview1, inst1, discipline1, -<<<<<<< HEAD - integration_status1, [host1]), -======= - integration_status1, [host1], [dev1], [asset1]), ->>>>>>> 830b5761a140520bffe83bde09764b7ce20f709e - lab2 = Lab.get_by_id(1) - - self.assertEqual(lab2.get("lab_id"), lab_id) - self.assertEqual(lab2.get("lab_name"), lab_name1) - self.assertEqual(lab2.get("overview"), overview1) - self.assertEqual(lab2.get("institute").get("inst_id"), - inst1.get("inst_id")) - self.assertEqual(lab2.get("discipline").get("dis_id"), - discipline1.get("dis_id")) - self.assertEqual(lab2.get("integration_status"). - get("integration_level"), - integration_status1.get("integration_level")) - - self.assertEqual(lab2.get("hosting_info")[0].get("hosted_url"), - hosted_url1) - self.assertEqual(lab2.get("developers")[0].get("email").get("email"), - email_id1.get("email")) - self.assertEqual(lab2.get("assets")[0].get("path"), - asset1.get("path")) - - -#+END_SRC - - diff --git a/src/runtime/system/system-interface.org b/src/runtime/system/system-interface.org index 436e899..a027175 100755 --- a/src/runtime/system/system-interface.org +++ b/src/runtime/system/system-interface.org @@ -172,9 +172,13 @@ class TestAddLab(TestCase): return app def setUp(self): + app = self.create_app() + self.app_context = app.app_context() + self.app_context.push() db.create_all() def tearDown(self): + self.app_context.pop() db.session.remove() db.drop_all() @@ -685,9 +689,13 @@ class TestAddExperiment(TestCase): return app def setUp(self): + app = self.create_app() + self.app_context = app.app_context() + self.app_context.push() db.create_all() def tearDown(self): + self.app_context.pop() db.session.remove() db.drop_all() @@ -1017,9 +1025,13 @@ class TestAddInstitute(TestCase): return app def setUp(self): + app = self.create_app() + self.app_context = app.app_context() + self.app_context.push() db.create_all() def tearDown(self): + self.app_context.pop() db.session.remove() db.drop_all() @@ -1131,9 +1143,13 @@ class TestAddDiscipline(TestCase): return app def setUp(self): + app = self.create_app() + self.app_context = app.app_context() + self.app_context.push() db.create_all() def tearDown(self): + self.app_context.pop() db.session.remove() db.drop_all() @@ -1216,9 +1232,13 @@ class TestAddSection(TestCase): return app def setUp(self): + app = self.create_app() + self.app_context = app.app_context() + self.app_context.push() db.create_all() def tearDown(self): + self.app_context.pop() db.session.remove() db.drop_all() @@ -1287,9 +1307,13 @@ class TestAddHosting_Info(TestCase): return app def setUp(self): + app = self.create_app() + self.app_context = app.app_context() + self.app_context.push() db.create_all() def tearDown(self): + self.app_context.pop() db.session.remove() db.drop_all() @@ -1349,9 +1373,13 @@ class TestAddName(TestCase): return app def setUp(self): + app = self.create_app() + self.app_context = app.app_context() + self.app_context.push() db.create_all() def tearDown(self): + self.app_context.pop() db.session.remove() db.drop_all() @@ -1414,9 +1442,13 @@ class TestAddEmail(TestCase): return app def setUp(self): + app = self.create_app() + self.app_context = app.app_context() + self.app_context.push() db.create_all() def tearDown(self): + self.app_context.pop() db.session.remove() db.drop_all() @@ -1490,9 +1522,13 @@ class TestAddDeveloper(TestCase): return app def setUp(self): + app = self.create_app() + self.app_context = app.app_context() + self.app_context.push() db.create_all() def tearDown(self): + self.app_context.pop() db.session.remove() db.drop_all() @@ -1607,9 +1643,13 @@ class TestAddIntegration_Status(TestCase): return app def setUp(self): + app = self.create_app() + self.app_context = app.app_context() + self.app_context.push() db.create_all() def tearDown(self): + self.app_context.pop() db.session.remove() db.drop_all() @@ -1666,9 +1706,13 @@ class TestGetLabs(TestCase): return app def setUp(self): + app = self.create_app() + self.app_context = app.app_context() + self.app_context.push() db.create_all() def tearDown(self): + self.app_context.pop() db.session.remove() db.drop_all() @@ -1964,9 +2008,13 @@ class TestGetLabsByKeywordLabName(TestCase): return app def setUp(self): + app = self.create_app() + self.app_context = app.app_context() + self.app_context.push() db.create_all() def tearDown(self): + self.app_context.pop() db.session.remove() db.drop_all() @@ -2272,9 +2320,13 @@ class TestGetLabsByInstitute(TestCase): return app def setUp(self): + app = self.create_app() + self.app_context = app.app_context() + self.app_context.push() db.create_all() def tearDown(self): + self.app_context.pop() db.session.remove() db.drop_all() @@ -2562,9 +2614,13 @@ class TestGetLabsByDiscipline(TestCase): return app def setUp(self): + app = self.create_app() + self.app_context = app.app_context() + self.app_context.push() db.create_all() def tearDown(self): + self.app_context.pop() db.session.remove() db.drop_all() @@ -2838,9 +2894,13 @@ class TestGetLabsByLabName(TestCase): return app def setUp(self): + app = self.create_app() + self.app_context = app.app_context() + self.app_context.push() db.create_all() def tearDown(self): + self.app_context.pop() db.session.remove() db.drop_all() @@ -3112,9 +3172,13 @@ class TestGetLabsByAssetType(TestCase): return app def setUp(self): + app = self.create_app() + self.app_context = app.app_context() + self.app_context.push() db.create_all() def tearDown(self): + self.app_context.pop() db.session.remove() db.drop_all() @@ -3370,9 +3434,13 @@ class TestGetLabsByIntegration_Status(TestCase): return app def setUp(self): + app = self.create_app() + self.app_context = app.app_context() + self.app_context.push() db.create_all() def tearDown(self): + self.app_context.pop() db.session.remove() db.drop_all() @@ -3663,9 +3731,13 @@ class TestGetExperiments(TestCase): return app def setUp(self): + app = self.create_app() + self.app_context = app.app_context() + self.app_context.push() db.create_all() def tearDown(self): + self.app_context.pop() db.session.remove() db.drop_all() @@ -3915,9 +3987,13 @@ class TestGetInstitutes(TestCase): return app def setUp(self): + app = self.create_app() + self.app_context = app.app_context() + self.app_context.push() db.create_all() def tearDown(self): + self.app_context.pop() db.session.remove() db.drop_all() @@ -4007,9 +4083,13 @@ class TestGetSections(TestCase): return app def setUp(self): + app = self.create_app() + self.app_context = app.app_context() + self.app_context.push() db.create_all() def tearDown(self): + self.app_context.pop() db.session.remove() db.drop_all() @@ -4071,9 +4151,13 @@ class TestGetDisciplines(TestCase): return app def setUp(self): + app = self.create_app() + self.app_context = app.app_context() + self.app_context.push() db.create_all() def tearDown(self): + self.app_context.pop() db.session.remove() db.drop_all() @@ -4163,9 +4247,13 @@ class TestGetHosting_Info(TestCase): return app def setUp(self): + app = self.create_app() + self.app_context = app.app_context() + self.app_context.push() db.create_all() def tearDown(self): + self.app_context.pop() db.session.remove() db.drop_all() @@ -4235,9 +4323,13 @@ class TestGetNames(TestCase): return app def setUp(self): + app = self.create_app() + self.app_context = app.app_context() + self.app_context.push() db.create_all() def tearDown(self): + self.app_context.pop() db.session.remove() db.drop_all() @@ -4299,9 +4391,13 @@ class TestGetEmails(TestCase): return app def setUp(self): + app = self.create_app() + self.app_context = app.app_context() + self.app_context.push() db.create_all() def tearDown(self): + self.app_context.pop() db.session.remove() db.drop_all() @@ -4363,9 +4459,13 @@ class TestGetDevelopers(TestCase): return app def setUp(self): + app = self.create_app() + self.app_context = app.app_context() + self.app_context.push() db.create_all() def tearDown(self): + self.app_context.pop() db.session.remove() db.drop_all() @@ -4493,9 +4593,13 @@ class TestGetIntegration_Status(TestCase): return app def setUp(self): + app = self.create_app() + self.app_context = app.app_context() + self.app_context.push() db.create_all() def tearDown(self): + self.app_context.pop() db.session.remove() db.drop_all() @@ -4555,9 +4659,13 @@ class TestGetLabById(TestCase): return app def setUp(self): + app = self.create_app() + self.app_context = app.app_context() + self.app_context.push() db.create_all() def tearDown(self): + self.app_context.pop() db.session.remove() db.drop_all() @@ -4854,9 +4962,13 @@ class TestGetSectionById(TestCase): return app def setUp(self): + app = self.create_app() + self.app_context = app.app_context() + self.app_context.push() db.create_all() def tearDown(self): + self.app_context.pop() db.session.remove() db.drop_all() @@ -4919,9 +5031,13 @@ class TestGetExperimentById(TestCase): return app def setUp(self): + app = self.create_app() + self.app_context = app.app_context() + self.app_context.push() db.create_all() def tearDown(self): + self.app_context.pop() db.session.remove() db.drop_all() @@ -5169,9 +5285,13 @@ class TestGetInstituteById(TestCase): return app def setUp(self): + app = self.create_app() + self.app_context = app.app_context() + self.app_context.push() db.create_all() def tearDown(self): + self.app_context.pop() db.session.remove() db.drop_all() @@ -5263,9 +5383,13 @@ class TestGetDisciplineById(TestCase): return app def setUp(self): + app = self.create_app() + self.app_context = app.app_context() + self.app_context.push() db.create_all() def tearDown(self): + self.app_context.pop() db.session.remove() db.drop_all() @@ -5348,9 +5472,13 @@ class TestGetNameById(TestCase): return app def setUp(self): + app = self.create_app() + self.app_context = app.app_context() + self.app_context.push() db.create_all() def tearDown(self): + self.app_context.pop() db.session.remove() db.drop_all() @@ -5562,9 +5690,13 @@ class TestUpdateLab(TestCase): return app def setUp(self): + app = self.create_app() + self.app_context = app.app_context() + self.app_context.push() db.create_all() def tearDown(self): + self.app_context.pop() db.session.remove() db.drop_all() @@ -6047,9 +6179,13 @@ class TestUpdateExperiment(TestCase): return app def setUp(self): + app = self.create_app() + self.app_context = app.app_context() + self.app_context.push() db.create_all() def tearDown(self): + self.app_context.pop() db.session.remove() db.drop_all() @@ -6355,9 +6491,13 @@ class TestUpdateInstitute(TestCase): return app def setUp(self): + app = self.create_app() + self.app_context = app.app_context() + self.app_context.push() db.create_all() def tearDown(self): + self.app_context.pop() db.session.remove() db.drop_all() @@ -6440,9 +6580,13 @@ class TestUpdateSection(TestCase): return app def setUp(self): + app = self.create_app() + self.app_context = app.app_context() + self.app_context.push() db.create_all() def tearDown(self): + self.app_context.pop() db.session.remove() db.drop_all() @@ -6525,9 +6669,13 @@ class TestUpdateDiscipline(TestCase): return app def setUp(self): + app = self.create_app() + self.app_context = app.app_context() + self.app_context.push() db.create_all() def tearDown(self): + self.app_context.pop() db.session.remove() db.drop_all() @@ -6613,9 +6761,13 @@ class TestUpdateHosting_Info(TestCase): return app def setUp(self): + app = self.create_app() + self.app_context = app.app_context() + self.app_context.push() db.create_all() def tearDown(self): + self.app_context.pop() db.session.remove() db.drop_all() @@ -6690,9 +6842,13 @@ class TestUpdateDeveloper(TestCase): return app def setUp(self): + app = self.create_app() + self.app_context = app.app_context() + self.app_context.push() db.create_all() def tearDown(self): + self.app_context.pop() db.session.remove() db.drop_all() @@ -6824,9 +6980,13 @@ class TestUpdateName(TestCase): return app def setUp(self): + app = self.create_app() + self.app_context = app.app_context() + self.app_context.push() db.create_all() def tearDown(self): + self.app_context.pop() db.session.remove() db.drop_all() @@ -6883,9 +7043,13 @@ class TestDeleteLab(TestCase): return app def setUp(self): + app = self.create_app() + self.app_context = app.app_context() + self.app_context.push() db.create_all() def tearDown(self): + self.app_context.pop() db.session.remove() db.drop_all() @@ -7161,9 +7325,13 @@ class TestDeleteExperiment(TestCase): return app def setUp(self): + app = self.create_app() + self.app_context = app.app_context() + self.app_context.push() db.create_all() def tearDown(self): + self.app_context.pop() db.session.remove() db.drop_all() @@ -7367,9 +7535,13 @@ class TestDeleteInstitute(TestCase): return app def setUp(self): + app = self.create_app() + self.app_context = app.app_context() + self.app_context.push() db.create_all() def tearDown(self): + self.app_context.pop() db.session.remove() db.drop_all() @@ -7442,9 +7614,13 @@ class TestDeleteSection(TestCase): return app def setUp(self): + app = self.create_app() + self.app_context = app.app_context() + self.app_context.push() db.create_all() def tearDown(self): + self.app_context.pop() db.session.remove() db.drop_all() @@ -7503,9 +7679,13 @@ class TestDeleteDiscipline(TestCase): return app def setUp(self): + app = self.create_app() + self.app_context = app.app_context() + self.app_context.push() db.create_all() def tearDown(self): + self.app_context.pop() db.session.remove() db.drop_all() @@ -7576,9 +7756,13 @@ class TestDeleteHosting_Info(TestCase): return app def setUp(self): + app = self.create_app() + self.app_context = app.app_context() + self.app_context.push() db.create_all() def tearDown(self): + self.app_context.pop() db.session.remove() db.drop_all() @@ -7640,9 +7824,13 @@ class TestDeleteName(TestCase): return app def setUp(self): + app = self.create_app() + self.app_context = app.app_context() + self.app_context.push() db.create_all() def tearDown(self): + self.app_context.pop() db.session.remove() db.drop_all() @@ -7704,9 +7892,13 @@ class TestDeleteEmail(TestCase): return app def setUp(self): + app = self.create_app() + self.app_context = app.app_context() + self.app_context.push() db.create_all() def tearDown(self): + self.app_context.pop() db.session.remove() db.drop_all() @@ -7770,9 +7962,13 @@ class TestDeleteDeveloper(TestCase): return app def setUp(self): + app = self.create_app() + self.app_context = app.app_context() + self.app_context.push() db.create_all() def tearDown(self): + self.app_context.pop() db.session.remove() db.drop_all() @@ -7866,9 +8062,13 @@ class TestDeleteIntegration_Status(TestCase): return app def setUp(self): + app = self.create_app() + self.app_context = app.app_context() + self.app_context.push() db.create_all() def tearDown(self): + self.app_context.pop() db.session.remove() db.drop_all() @@ -7927,9 +8127,13 @@ class TestGetInstituteByInstituteId(TestCase): return app def setUp(self): + app = self.create_app() + self.app_context = app.app_context() + self.app_context.push() db.create_all() def tearDown(self): + self.app_context.pop() db.session.remove() db.drop_all() @@ -8004,9 +8208,13 @@ class TestGetLabByLabId(TestCase): return app def setUp(self): + app = self.create_app() + self.app_context = app.app_context() + self.app_context.push() db.create_all() def tearDown(self): + self.app_context.pop() db.session.remove() db.drop_all() @@ -8289,9 +8497,13 @@ class TestGetExpByExpId(TestCase): return app def setUp(self): + app = self.create_app() + self.app_context = app.app_context() + self.app_context.push() db.create_all() def tearDown(self): + self.app_context.pop() db.session.remove() db.drop_all() @@ -8508,9 +8720,13 @@ class TestGetDisciplineByDisciplineId(TestCase): return app def setUp(self): + app = self.create_app() + self.app_context = app.app_context() + self.app_context.push() db.create_all() def tearDown(self): + self.app_context.pop() db.session.remove() db.drop_all() @@ -8597,9 +8813,13 @@ class TestGetDeveloperByEmail(TestCase): return app def setUp(self): + app = self.create_app() + self.app_context = app.app_context() + self.app_context.push() db.create_all() def tearDown(self): + self.app_context.pop() db.session.remove() db.drop_all() @@ -8692,9 +8912,13 @@ class TestGetIntegration_StatusByIL(TestCase): return app def setUp(self): + app = self.create_app() + self.app_context = app.app_context() + self.app_context.push() db.create_all() def tearDown(self): + self.app_context.pop() db.session.remove() db.drop_all() @@ -8761,9 +8985,13 @@ class TestAddAsset(TestCase): return app def setUp(self): + app = self.create_app() + self.app_context = app.app_context() + self.app_context.push() db.create_all() def tearDown(self): + self.app_context.pop() db.session.remove() db.drop_all() @@ -8832,9 +9060,13 @@ class TestUpdateAsset(TestCase): return app def setUp(self): + app = self.create_app() + self.app_context = app.app_context() + self.app_context.push() db.create_all() def tearDown(self): + self.app_context.pop() db.session.remove() db.drop_all() @@ -8894,9 +9126,13 @@ class TestDeleteAsset(TestCase): return app def setUp(self): + app = self.create_app() + self.app_context = app.app_context() + self.app_context.push() db.create_all() def tearDown(self): + self.app_context.pop() db.session.remove() db.drop_all() @@ -8960,9 +9196,13 @@ class TestGetAssets(TestCase): return app def setUp(self): + app = self.create_app() + self.app_context = app.app_context() + self.app_context.push() db.create_all() def tearDown(self): + self.app_context.pop() db.session.remove() db.drop_all() @@ -9060,9 +9300,13 @@ class TestGetAssetByPath(TestCase): return app def setUp(self): + app = self.create_app() + self.app_context = app.app_context() + self.app_context.push() db.create_all() def tearDown(self): + self.app_context.pop() db.session.remove() db.drop_all() @@ -9125,9 +9369,13 @@ class TestGetHosting_Info_by_hosted_url(TestCase): return app def setUp(self): + app = self.create_app() + self.app_context = app.app_context() + self.app_context.push() db.create_all() def tearDown(self): + self.app_context.pop() db.session.remove() db.drop_all() diff --git a/src/runtime/system/system-with-persistence.org b/src/runtime/system/system-with-persistence.org index c60197f..846d464 100755 --- a/src/runtime/system/system-with-persistence.org +++ b/src/runtime/system/system-with-persistence.org @@ -26,9 +26,13 @@ class TestAddLab(TestCase): return app def setUp(self): + app = self.create_app() + self.app_context = app.app_context() + self.app_context.push() db.create_all() def tearDown(self): + self.app_context.pop() db.session.remove() db.drop_all() @@ -153,9 +157,13 @@ class TestAddExperiment(TestCase): return app def setUp(self): + app = self.create_app() + self.app_context = app.app_context() + self.app_context.push() db.create_all() def tearDown(self): + self.app_context.pop() db.session.remove() db.drop_all() @@ -241,9 +249,13 @@ class TestAddInstitute(TestCase): return app def setUp(self): + app = self.create_app() + self.app_context = app.app_context() + self.app_context.push() db.create_all() def tearDown(self): + self.app_context.pop() db.session.remove() db.drop_all() @@ -286,9 +298,13 @@ class TestAddDiscipline(TestCase): return app def setUp(self): + app = self.create_app() + self.app_context = app.app_context() + self.app_context.push() db.create_all() def tearDown(self): + self.app_context.pop() db.session.remove() db.drop_all() @@ -330,9 +346,13 @@ class TestAddSectionsToExperiment(TestCase): return app def setUp(self): + app = self.create_app() + self.app_context = app.app_context() + self.app_context.push() db.create_all() def tearDown(self): + self.app_context.pop() db.session.remove() db.drop_all() @@ -430,9 +450,13 @@ class TestAddLabsToInstitute(TestCase): return app def setUp(self): + app = self.create_app() + self.app_context = app.app_context() + self.app_context.push() db.create_all() def tearDown(self): + self.app_context.pop() db.session.remove() db.drop_all() @@ -491,9 +515,13 @@ class TestAddSection(TestCase): return app def setUp(self): + app = self.create_app() + self.app_context = app.app_context() + self.app_context.push() db.create_all() def tearDown(self): + self.app_context.pop() db.session.remove() db.drop_all() @@ -524,9 +552,13 @@ class TestAddName(TestCase): return app def setUp(self): + app = self.create_app() + self.app_context = app.app_context() + self.app_context.push() db.create_all() def tearDown(self): + self.app_context.pop() db.session.remove() db.drop_all() @@ -556,9 +588,13 @@ class TestAddphase_cls(TestCase): return app def setUp(self): + app = self.create_app() + self.app_context = app.app_context() + self.app_context.push() db.create_all() def tearDown(self): + self.app_context.pop() db.session.remove() db.drop_all() @@ -589,9 +625,13 @@ class TestAddEmail(TestCase): return app def setUp(self): + app = self.create_app() + self.app_context = app.app_context() + self.app_context.push() db.create_all() def tearDown(self): + self.app_context.pop() db.session.remove() db.drop_all() @@ -622,9 +662,13 @@ class TestAddHosting_Info(TestCase): return app def setUp(self): + app = self.create_app() + self.app_context = app.app_context() + self.app_context.push() db.create_all() def tearDown(self): + self.app_context.pop() db.session.remove() db.drop_all() @@ -659,9 +703,13 @@ class TestAddDeveloper(TestCase): return app def setUp(self): + app = self.create_app() + self.app_context = app.app_context() + self.app_context.push() db.create_all() def tearDown(self): + self.app_context.pop() db.session.remove() db.drop_all() @@ -700,9 +748,13 @@ class TestAddIntegration_Status(TestCase): return app def setUp(self): + app = self.create_app() + self.app_context = app.app_context() + self.app_context.push() db.create_all() def tearDown(self): + self.app_context.pop() db.session.remove() db.drop_all() @@ -733,9 +785,13 @@ class TestUpdateLab(TestCase): return app def setUp(self): + app = self.create_app() + self.app_context = app.app_context() + self.app_context.push() db.create_all() def tearDown(self): + self.app_context.pop() db.session.remove() db.drop_all() @@ -973,9 +1029,13 @@ class TestUpdateExperiment(TestCase): return app def setUp(self): + app = self.create_app() + self.app_context = app.app_context() + self.app_context.push() db.create_all() def tearDown(self): + self.app_context.pop() db.session.remove() db.drop_all() @@ -1143,9 +1203,13 @@ class TestUpdateInstitute(TestCase): return app def setUp(self): + app = self.create_app() + self.app_context = app.app_context() + self.app_context.push() db.create_all() def tearDown(self): + self.app_context.pop() db.session.remove() db.drop_all() @@ -1204,9 +1268,13 @@ class TestUpdateDisciplilne(TestCase): return app def setUp(self): + app = self.create_app() + self.app_context = app.app_context() + self.app_context.push() db.create_all() def tearDown(self): + self.app_context.pop() db.session.remove() db.drop_all() @@ -1261,9 +1329,13 @@ class TestUpdateSection(TestCase): return app def setUp(self): + app = self.create_app() + self.app_context = app.app_context() + self.app_context.push() db.create_all() def tearDown(self): + self.app_context.pop() db.session.remove() db.drop_all() @@ -1288,9 +1360,13 @@ class TestUpdateHosting_Info(TestCase): return app def setUp(self): + app = self.create_app() + self.app_context = app.app_context() + self.app_context.push() db.create_all() def tearDown(self): + self.app_context.pop() db.session.remove() db.drop_all() @@ -1333,9 +1409,13 @@ class TestDeleteExperiment(TestCase): return app def setUp(self): + app = self.create_app() + self.app_context = app.app_context() + self.app_context.push() db.create_all() def tearDown(self): + self.app_context.pop() db.session.remove() db.drop_all() @@ -1419,9 +1499,13 @@ class TestUpdateDeveloper(TestCase): return app def setUp(self): + app = self.create_app() + self.app_context = app.app_context() + self.app_context.push() db.create_all() def tearDown(self): + self.app_context.pop() db.session.remove() db.drop_all() @@ -1498,9 +1582,13 @@ class TestDeleteInstitute(TestCase): return app def setUp(self): + app = self.create_app() + self.app_context = app.app_context() + self.app_context.push() db.create_all() def tearDown(self): + self.app_context.pop() db.session.remove() db.drop_all() @@ -1547,9 +1635,13 @@ class TestDeleteSection(TestCase): return app def setUp(self): + app = self.create_app() + self.app_context = app.app_context() + self.app_context.push() db.create_all() def tearDown(self): + self.app_context.pop() db.session.remove() db.drop_all() @@ -1586,9 +1678,13 @@ class TestDeleteName(TestCase): return app def setUp(self): + app = self.create_app() + self.app_context = app.app_context() + self.app_context.push() db.create_all() def tearDown(self): + self.app_context.pop() db.session.remove() db.drop_all() @@ -1625,9 +1721,13 @@ class TestDeletephase_cls(TestCase): return app def setUp(self): + app = self.create_app() + self.app_context = app.app_context() + self.app_context.push() db.create_all() def tearDown(self): + self.app_context.pop() db.session.remove() db.drop_all() @@ -1663,9 +1763,13 @@ class TestDeleteLab(TestCase): return app def setUp(self): + app = self.create_app() + self.app_context = app.app_context() + self.app_context.push() db.create_all() def tearDown(self): + self.app_context.pop() db.session.remove() db.drop_all() @@ -1789,9 +1893,13 @@ class TestDeleteEmail(TestCase): return app def setUp(self): + app = self.create_app() + self.app_context = app.app_context() + self.app_context.push() db.create_all() def tearDown(self): + self.app_context.pop() db.session.remove() db.drop_all() @@ -1824,9 +1932,13 @@ class TestDeleteDiscipline(TestCase): return app def setUp(self): + app = self.create_app() + self.app_context = app.app_context() + self.app_context.push() db.create_all() def tearDown(self): + self.app_context.pop() db.session.remove() db.drop_all() @@ -1871,9 +1983,13 @@ class TestDeleteDeveloper(TestCase): return app def setUp(self): + app = self.create_app() + self.app_context = app.app_context() + self.app_context.push() db.create_all() def tearDown(self): + self.app_context.pop() db.session.remove() db.drop_all() @@ -1936,9 +2052,13 @@ class TestDeleteHosting_Info(TestCase): return app def setUp(self): + app = self.create_app() + self.app_context = app.app_context() + self.app_context.push() db.create_all() def tearDown(self): + self.app_context.pop() db.session.remove() db.drop_all() @@ -1975,9 +2095,13 @@ class TestDeleteIntegration_Status(TestCase): return app def setUp(self): + app = self.create_app() + self.app_context = app.app_context() + self.app_context.push() db.create_all() def tearDown(self): + self.app_context.pop() db.session.remove() db.drop_all() @@ -2013,9 +2137,13 @@ class TestGetLab(TestCase): return app def setUp(self): + app = self.create_app() + self.app_context = app.app_context() + self.app_context.push() db.create_all() def tearDown(self): + self.app_context.pop() db.session.remove() db.drop_all() @@ -2123,9 +2251,13 @@ class TestGetLabByInstitute(TestCase): return app def setUp(self): + app = self.create_app() + self.app_context = app.app_context() + self.app_context.push() db.create_all() def tearDown(self): + self.app_context.pop() db.session.remove() db.drop_all() @@ -2218,9 +2350,13 @@ class TestGetLabByDiscipline(TestCase): return app def setUp(self): + app = self.create_app() + self.app_context = app.app_context() + self.app_context.push() db.create_all() def tearDown(self): + self.app_context.pop() db.session.remove() db.drop_all() @@ -2314,9 +2450,13 @@ class TestGetLabByLabName(TestCase): return app def setUp(self): + app = self.create_app() + self.app_context = app.app_context() + self.app_context.push() db.create_all() def tearDown(self): + self.app_context.pop() db.session.remove() db.drop_all() @@ -2408,9 +2548,13 @@ class TestGetLabByAsset(TestCase): return app def setUp(self): + app = self.create_app() + self.app_context = app.app_context() + self.app_context.push() db.create_all() def tearDown(self): + self.app_context.pop() db.session.remove() db.drop_all() @@ -2494,9 +2638,13 @@ class TestGetIntegration_StatusByIL(TestCase): return app def setUp(self): + app = self.create_app() + self.app_context = app.app_context() + self.app_context.push() db.create_all() def tearDown(self): + self.app_context.pop() db.session.remove() db.drop_all() @@ -2532,9 +2680,13 @@ class TestGetName(TestCase): return app def setUp(self): + app = self.create_app() + self.app_context = app.app_context() + self.app_context.push() db.create_all() def tearDown(self): + self.app_context.pop() db.session.remove() db.drop_all() @@ -2568,9 +2720,13 @@ class TestGetphase_cls(TestCase): return app def setUp(self): + app = self.create_app() + self.app_context = app.app_context() + self.app_context.push() db.create_all() def tearDown(self): + self.app_context.pop() db.session.remove() db.drop_all() @@ -2604,9 +2760,13 @@ class TestGetExp(TestCase): return app def setUp(self): + app = self.create_app() + self.app_context = app.app_context() + self.app_context.push() db.create_all() def tearDown(self): + self.app_context.pop() db.session.remove() db.drop_all() @@ -2690,9 +2850,13 @@ class TestGetEmail(TestCase): return app def setUp(self): + app = self.create_app() + self.app_context = app.app_context() + self.app_context.push() db.create_all() def tearDown(self): + self.app_context.pop() db.session.remove() db.drop_all() @@ -2728,9 +2892,13 @@ class TestGetInstitute(TestCase): return app def setUp(self): + app = self.create_app() + self.app_context = app.app_context() + self.app_context.push() db.create_all() def tearDown(self): + self.app_context.pop() db.session.remove() db.drop_all() @@ -2773,9 +2941,13 @@ class TestGetDiscipline(TestCase): return app def setUp(self): + app = self.create_app() + self.app_context = app.app_context() + self.app_context.push() db.create_all() def tearDown(self): + self.app_context.pop() db.session.remove() db.drop_all() @@ -2818,9 +2990,13 @@ class TestGetDeveloper(TestCase): return app def setUp(self): + app = self.create_app() + self.app_context = app.app_context() + self.app_context.push() db.create_all() def tearDown(self): + self.app_context.pop() db.session.remove() db.drop_all() @@ -2881,9 +3057,13 @@ class TestGetHosting_Info(TestCase): return app def setUp(self): + app = self.create_app() + self.app_context = app.app_context() + self.app_context.push() db.create_all() def tearDown(self): + self.app_context.pop() db.session.remove() db.drop_all() @@ -2920,9 +3100,13 @@ class TestGetIntegration_Status(TestCase): return app def setUp(self): + app = self.create_app() + self.app_context = app.app_context() + self.app_context.push() db.create_all() def tearDown(self): + self.app_context.pop() db.session.remove() db.drop_all() @@ -2954,9 +3138,13 @@ class TestAddAsset(TestCase): return app def setUp(self): + app = self.create_app() + self.app_context = app.app_context() + self.app_context.push() db.create_all() def tearDown(self): + self.app_context.pop() db.session.remove() db.drop_all() @@ -2993,9 +3181,13 @@ class TestUpdateAsset(TestCase): return app def setUp(self): + app = self.create_app() + self.app_context = app.app_context() + self.app_context.push() db.create_all() def tearDown(self): + self.app_context.pop() db.session.remove() db.drop_all() @@ -3037,9 +3229,13 @@ class TestDeleteAsset(TestCase): return app def setUp(self): + app = self.create_app() + self.app_context = app.app_context() + self.app_context.push() db.create_all() def tearDown(self): + self.app_context.pop() db.session.remove() db.drop_all() @@ -3079,9 +3275,13 @@ class TestGetAsset(TestCase): return app def setUp(self): + app = self.create_app() + self.app_context = app.app_context() + self.app_context.push() db.create_all() def tearDown(self): + self.app_context.pop() db.session.remove() db.drop_all() @@ -3118,9 +3318,13 @@ class TestAddAssetsToLab(TestCase): return app def setUp(self): + app = self.create_app() + self.app_context = app.app_context() + self.app_context.push() db.create_all() def tearDown(self): + self.app_context.pop() db.session.remove() db.drop_all() @@ -3217,9 +3421,13 @@ class TestGetName(TestCase): return app def setUp(self): + app = self.create_app() + self.app_context = app.app_context() + self.app_context.push() db.create_all() def tearDown(self): + self.app_context.pop() db.session.remove() db.drop_all() @@ -3253,9 +3461,13 @@ class TestUpdateName(TestCase): return app def setUp(self): + app = self.create_app() + self.app_context = app.app_context() + self.app_context.push() db.create_all() def tearDown(self): + self.app_context.pop() db.session.remove() db.drop_all() diff --git a/src/runtime/system/system.org b/src/runtime/system/system.org index e4f0011..c881796 100755 --- a/src/runtime/system/system.org +++ b/src/runtime/system/system.org @@ -108,9 +108,13 @@ class TestSystemConstructor(TestCase): return app def setUp(self): + app = self.create_app() + self.app_context = app.app_context() + self.app_context.push() System.initialize_system(PersistenceDelegate) def tearDown(self): + self.app_context.pop() System.delegate = None def test_delegate(self): diff --git a/src/runtime/utils/class-persistence.org b/src/runtime/utils/class-persistence.org index 9473695..686c62a 100755 --- a/src/runtime/utils/class-persistence.org +++ b/src/runtime/utils/class-persistence.org @@ -295,9 +295,13 @@ class TestPersistence(TestCase): return app def setUp(self): + app = self.create_app() + self.app_context = app.app_context() + self.app_context.push() db.create_all() def tearDown(self): + self.app_context.pop() db.session.remove() db.drop_all() From c8d80099f284209d924a2c921d3842d27b926af7 Mon Sep 17 00:00:00 2001 From: Thirumal Ravula Date: Wed, 20 Dec 2017 09:07:19 +0000 Subject: [PATCH 067/105] setup steps listed out --- src/deployment/index.org | 197 +++++++++++++++++++++------------------ 1 file changed, 106 insertions(+), 91 deletions(-) diff --git a/src/deployment/index.org b/src/deployment/index.org index ed9259b..8adb143 100755 --- a/src/deployment/index.org +++ b/src/deployment/index.org @@ -7,10 +7,10 @@ #+OPTIONS: ^:nil * Introduction - This document will illustrate installation of all the dependencies required - for setting up the application. + This document will illustrate installation of all the + dependencies required for setting up the application. -* Install dependendent python packages +* Utility to install dependendent python packages Here we use the =setuptools= module from the standard lib, to make a =setup.py= file, which will install all the python library dependencies. @@ -25,7 +25,7 @@ requires = [ 'Flask-testing', 'requests', 'pyyaml' -] +] setup( name='lds', @@ -35,7 +35,10 @@ setup( #+END_SRC -* Program to set up the database +* Program to populate initial data in the database + This is used to run the service in developer's + environment. Otherwise, mostly the database on production + is updated from a dump of previous instance. #+BEGIN_SRC python :tangle db_setup.py :eval no from runtime.rest.app import create_app @@ -162,7 +165,7 @@ if __name__ == "__main__": #+END_SRC -* Program to populate lab and experiment data from lab spects +* Program to populate lab and experiment tables from lab specs #+BEGIN_SRC python :tangle dump_json_to_lds.py :eval no import os import os.path @@ -210,15 +213,15 @@ post_lab_spec(lab_file_list[0]) #+END_SRC -* program to add 'asset_type' entity +* Program to add 'asset_type' entity ** Migration Steps 1) create database lds_old 2) restoring the dump -#+BEGIN_SRC sh +#+BEGIN_SRC mysql -u root -p lds_old < lds.sql #+END_SRC 3) create the schema -#+BEGIN_SRC sh +#+BEGIN_SRC create table asset_type(id int(11) auto_increment, asset_type varchar(255) unique, primary key(id)); select distinct asset_type from asset; insert into asset_type (asset_type) values("image"); @@ -230,29 +233,30 @@ FOREIGN KEY (PersonID) REFERENCES Persons(PersonID) alter table experiment drop column lb_id; #+END_SRC 4) update config file with lds_old database -#+BEGIN_SRC sh +#+BEGIN_SRC SQLALCHEMY_DATABASE_URI = 'mysql+oursql://root:root@localhost/lds_old' #+END_SRC 5) run the app -#+BEGIN_SRC sh +#+BEGIN_SRC cd build/code/runtime/rest python app.py #+END_SRC 6) run the migration script -#+BEGIN_SRC sh +#+BEGIN_SRC cd build/code/deployment python migration.py #+END_SRC 7) drop table asset_old -#+BEGIN_SRC sh +#+BEGIN_SRC drop table asset_old #+END_SRC 8) backup the new mysql dump -#+BEGIN_SRC sh +#+BEGIN_SRC mysqldump -u root -proot lds_old > lds.sql #+END_SRC ** Migration Script -#+BEGIN_SRC python :tangle migrate_asset.py :eval no +#+BEGIN_SRC python :tangle migrate.py :eval no + #!/usr/bin/python import MySQLdb import sys @@ -322,127 +326,138 @@ if __name__ == "__main__": connection1.close() #+END_SRC -* program to add 'phase' entity -** Manual Steps + +* Install mysql db, dependencies and python packages +** Install OS related Packages + Install pre-requsite dependencies: python-dev, + libmysqld-dev, python-setuptools, apache2, + libapache2-mod-wsgi +#+name: os-pack #+BEGIN_SRC sh -create table phase(id int(11) auto_increment, phase_id int(11) unique, primary key(id)); -create table labs_phase(labid int(11), foreign key (labid) references lab(id), phase_id int(11), foreign key(phase_id) references phase(id)); -#+END_SRC -** Migration Script -#+BEGIN_SRC python :tangle migrate_phase.py :eval no -#!/usr/bin/python -import MySQLdb -import sys +echo "Updating package cache.." +apt-get -y update +if [ $? -ne 0 ]; then + echo "Updating package cache failed!" + exit 1; +fi -def populate_phase_table(): - print "Populating phase table.." - cursor1.execute("create table phase(id int(11) auto_increment, phase_id int(11) unique, primary key(id));") - data = cursor1.fetchall() - cursor1.execute("create table labs_phase(labid int(11), foreign key (labid) references lab(id), phase_id int(11), foreign key(phase_id) references phase(id));") - data = cursor1.fetchall() - print "Done.." +echo "Installing pre-requisite dependencies.." -if __name__ == "__main__": - connection1 = MySQLdb.connect(host="localhost", - user="root", - passwd="root", - db="lds") - cursor1 = connection1.cursor() +apt-get install -y python-dev libmysqld-dev python-setuptools apache2 libapache2-mod-wsgi python-mysqldb - populate_phase_table() - cursor1.close() - connection1.close() +if [ $? -ne 0 ]; then + echo "FATAL: Installing os-related packages failed!" + exit 1; +fi #+END_SRC -* Install all dependencies and setup the software - Install all dependencies, including the OS related packages, Python packages, - setup the database, configure the webserver, and finally deploy the - application. -#+BEGIN_SRC sh :tangle setup.sh :eval no -#!/bin/bash -# Shell script to install deb package dependencies as well as python package -# dependencies for dataservice. +** Enable mod wsgi + WSGI mode is needed for one web server to talk to + another. In our case, Flask and Apache2 need to + communicate. To make this happen, wsgi is enabled. +#+name: enable-mod-wsgi +#+BEGIN_SRC sh +echo "Enabling the mod WSGI on apache" +a2enmod wsgi +if [ $? -ne 0 ]; then + echo "FATAL: Unable to enable mod wsgi!" + exit 1; +fi + +#+END_SRC +** Install mysql db + Install mysql db. The idea to generate a random password + while installaing the mysql. This same password that is + stored in a file is used by the application to connect to + the database. Currently, this is not implemented, + instead the password is set to =root=. The database can + only be installed by a super user. + +#+name: install-mysql +#+BEGIN_SRC sh + -# if any proxy server -#PROXY="" -# file to store the generated password -DB_PASS_FILE="db_pass.txt" +#DB_PASS_FILE="db_pass.txt" if [[ `id -u` -ne 0 ]]; then echo "You have to execute this script as super user!" exit 1; fi -# Update the packages -echo "Updating package cache.." -apt-get -y update -if [[ $? -ne 0 ]]; then - echo "Updating package cache failed!" - exit 1; -fi - echo "Installing MySQL database.." -if [ ! -f $DB_PASS_FILE ]; then - # generate a random password for the database and store it in the $DB_PASS_FILE - # file -# DBPASS=$(date +%s | sha256sum | head -c 32) - DBPASS="root" - echo $DBPASS > $DB_PASS_FILE -fi +DBPASS="root" # Install MySQL Server in a Non-Interactive mode. echo "mysql-server mysql-server/root_password password $DBPASS" | sudo debconf-set-selections echo "mysql-server mysql-server/root_password_again password $DBPASS" | sudo debconf-set-selections apt-get install -y mysql-server + if [[ $? -ne 0 ]]; then echo "FATAL: MySQL installation failed!" exit 1; fi -# Install pre-requsite dependencies: python-dev, mysqld-dev, setuptools, -# apache, mod_wsgi etc. -echo "Installing pre-requisite dependencies.." +#+END_SRC + +** Install Pip + pip is python package insaller. +#+name: install-pip +#+BEGIN_SRC sh +echo "Installing PIP" apt-get remove -y python-pip apt-get purge python-pip mkdir -p build/pip cd build/pip -wget https://pypi.python.org/packages/11/b6/abcb525026a4be042b486df43905d6893fb04f05aac21c32c638e939e447/pip-9.0.1.tar.gz#md5=35f01da33009719497f01a4ba69d63c9 +wget https://pypi.python.org/packages/11/b6/abcb525026a4be042b486df43905d6893fb04f05aac21c32c638e939e447/pip-9.0.1.tar.gz tar xvf pip-9.0.1.tar.gz cd pip-9.0.1 python setup.py install -apt-get install -y python-dev libmysqld-dev python-setuptools apache2 libapache2-mod-wsgi python-mysqldb - -if [[ $? -ne 0 ]]; then - echo "FATAL: Installing pre-requisite dependencies failed!" +if [ $? -ne 0 ]; then + echo "FATAL: PIP installation failed!" exit 1; fi -echo "Enabling the mod WSGI on apache" -a2enmod wsgi -if [[ $? -ne 0 ]]; then - echo "FATAL: Unable to enable mod wsgi!" - exit 1; -fi +#+END_SRC -# Installing python dependencies +** Install Python packages + The flask application needs the following python + packages. =oursql= package is installed from sources. + Others are installed using pip package manager. +#+name: py-pack +#+BEGIN_SRC sh echo "Installing dependencies.." -#export http_proxy=$PROXY -#export https_proxy=$PROXY -#python setup.py install + mkdir -p build/oursql cd build/oursql wget https://pypi.python.org/packages/8c/88/9f53a314a2af6f56c0a1249c5673ee384b85dc791bac5c1228772ced3502/oursql-0.9.3.2.tar.gz#md5=ade5959a6571b1626966d47f3ab2d315 tar xvf oursql-0.9.3.2.tar.gz cd oursql-0.9.3.2 python setup.py install -pip install Flask Flask-SQLAlchemy oursql Flask-cors Flask-testing requests pyyaml -if [[ $? -ne 0 ]]; then - echo "FATAL: Installation failed!" +pip install Flask Flask-SQLAlchemy Flask-cors Flask-testing oursql requests pyyaml + +if [ $? -ne 0 ]; then + echo "FATAL: Python package installation failed!" exit 1; fi +#+END_SRC + +** All the above steps will be part of =setup.sh= +#+BEGIN_SRC sh :tangle setup.sh :eval no :noweb yes +#!/bin/bash + +<> + +<> + +<> + +<> + +<> + exit 0 #+END_SRC @@ -469,7 +484,7 @@ ABS_PATH_DS=$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd ) update_app_config () { CONFIG_FILE="../runtime/config/flask_app_config.py" DB_USER="root" - DB_PASS="root" + DB_PASS=$(cat db_pass.txt) DB_NAME="lds" DB_SERVER="localhost" @@ -500,7 +515,7 @@ update_app_config () { update_apache_config() { PROC_NAME="lds" WSGI_SCRIPT="lds.wsgi" - APACHE_VHOST_FILE="/etc/apache2/sites-available/000-default.conf" + APACHE_VHOST_FILE="/etc/apache2/sites-available/default" sed -i "/<\/VirtualHost>/i \ WSGIScriptAlias / $ABS_PATH_DS/$WSGI_SCRIPT From 5dc04c1a0ed94b7d8ad837693d2ae73741ce13f3 Mon Sep 17 00:00:00 2001 From: Thirumal Ravula Date: Wed, 20 Dec 2017 09:45:22 +0000 Subject: [PATCH 068/105] steps in configuration listed --- src/deployment/index.org | 105 ++++++++++++++++++++++++--------------- 1 file changed, 64 insertions(+), 41 deletions(-) diff --git a/src/deployment/index.org b/src/deployment/index.org index 8adb143..478c491 100755 --- a/src/deployment/index.org +++ b/src/deployment/index.org @@ -378,7 +378,7 @@ fi #+BEGIN_SRC sh -#DB_PASS_FILE="db_pass.txt" +DB_PASS_FILE="db_pass.txt" if [[ `id -u` -ne 0 ]]; then echo "You have to execute this script as super user!" @@ -398,6 +398,7 @@ if [[ $? -ne 0 ]]; then exit 1; fi +echo $DBPASS > $DB_PASS_FILE #+END_SRC ** Install Pip @@ -462,19 +463,38 @@ exit 0 #+END_SRC -* Configuring the application and its deployment - The following program configures the application, configures the web server - to use WSGI and use the application scripts, and finally calls the database - setup scripts to actually setup the database with tables. +* Configuration +** Create the WSGI conduit + Provide one end of the flask application to the apache + server for it to route the traffic to flask application. +#+BEGIN_SRC python :tangle lds.wsgi :eval no -#+BEGIN_SRC sh :tangle configure.sh :eval no -#!/bin/bash -# Configure the application in the deployment environment -# 1. Update the config.py file with appropriate values -# 2. Update the apache config to server via WSGI -# 3. Run the database setup scripts to setup the database +import sys, os -if [[ `id -u` -ne 0 ]]; then +BASE_DIR = BASE_DIR = os.path.join(os.path.dirname(os.path.abspath(__file__))) + +#sys.path.insert(0, BASE_DIR) +sys.path.insert(0, "/var/www") + +from runtime.rest.app import create_app +from runtime.config import flask_app_config as config + +application = create_app(config) + +#+END_SRC +** Configure the application + Configuring the application involves: + 1. set up the configuration parameters of the + application. These include: + - Database parameters :: database userId, Password, + dbname, dbhost + - Cross origin pameters :: Whitelist IPs, allowed + origins. These parameters are not set currently. + +#+name: configure-app +#+BEGIN_SRC sh + +if [ `id -u` -ne 0 ]; then echo "You have to execute this script as super user!" exit 1; fi @@ -502,6 +522,7 @@ update_app_config () { sed -i "s//$DB_NAME/" $ABS_PATH_DS/$CONFIG_FILE # update SQLALCHEMY_ECHO sed -i "s/^SQLALCHEMY_ECHO.*$/SQLALCHEMY_ECHO = False/" $ABS_PATH_DS/$CONFIG_FILE + # update WHITELIST_IPS #sed -i "s/^WHITELIST_IPS.*$/WHITELIST_IPS = $WHITELIST_IPS/" $CONFIG_FILE # update ALLOWED_ORIGINS @@ -512,6 +533,16 @@ update_app_config () { # necessary } +#+END_SRC + +** Configre the web server + The wsgi conduit is configured with the apache. This is + necessary since apache web server has to forward the + traffic on the =/= to the LDS application that uses flask + web server. +#+name: configure-wserver +#+BEGIN_SRC sh + update_apache_config() { PROC_NAME="lds" WSGI_SCRIPT="lds.wsgi" @@ -521,20 +552,14 @@ update_apache_config() { WSGIScriptAlias / $ABS_PATH_DS/$WSGI_SCRIPT " $APACHE_VHOST_FILE - #sed -i '/<\/VirtualHost>/i \ - # WSGIDaemonProcess $PROC_NAME user=www-data group=www-data threads=5 - # WSGIScriptAlias / $ABS_PATH_DS/$WSGI_SCRIPT - - # - # WSGIProcessGroup $PROC_NAME - # WSGIApplicationGroup %{GLOBAL} - # Order deny,allow - # Allow from all - # - #' $APACHE_VHOST_FILE - } +#+END_SRC +** Create the database + An empty database is created for the application to use. +#+name: create-db +#+BEGIN_SRC sh + setup_db() { echo "Creating database: $DB_NAME" mysql -u $DB_USER -p$DB_PASS -Bse "create database $DB_NAME;" @@ -545,11 +570,24 @@ setup_db() { } +#+END_SRC + +** All the above steps will be part of =configure.sh= +#+BEGIN_SRC sh :tangle configure.sh :eval no :noweb yes +#!/bin/bash + +<> + +<> + +<> + update_app_config if [[ $? -ne 0 ]]; then echo "FATAL: Failed to update application flask_app_config.py" exit 1; fi + update_apache_config if [[ $? -ne 0 ]]; then echo "FATAL: Failed to update apache config" @@ -558,25 +596,10 @@ fi service apache2 restart export PYTHONPATH="/var/www" -setup_db -exit 0; -#+END_SRC - -* Deploying the application - -#+BEGIN_SRC python :tangle lds.wsgi :eval no - -import sys, os -BASE_DIR = BASE_DIR = os.path.join(os.path.dirname(os.path.abspath(__file__))) - -#sys.path.insert(0, BASE_DIR) -sys.path.insert(0, "/var/www") - -from runtime.rest.app import create_app -from runtime.config import flask_app_config as config +setup_db -application = create_app(config) +exit 0 #+END_SRC From 48a91783a79ac3ca9f4aa38b9b17ccbfcefb4c83 Mon Sep 17 00:00:00 2001 From: Thirumal Ravula Date: Wed, 20 Dec 2017 09:56:35 +0000 Subject: [PATCH 069/105] set the right file for configuring apache --- src/deployment/index.org | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/deployment/index.org b/src/deployment/index.org index 478c491..b87f448 100755 --- a/src/deployment/index.org +++ b/src/deployment/index.org @@ -546,7 +546,7 @@ update_app_config () { update_apache_config() { PROC_NAME="lds" WSGI_SCRIPT="lds.wsgi" - APACHE_VHOST_FILE="/etc/apache2/sites-available/default" + APACHE_VHOST_FILE="/etc/apache2/sites-available/000-default.conf" sed -i "/<\/VirtualHost>/i \ WSGIScriptAlias / $ABS_PATH_DS/$WSGI_SCRIPT From 37d633c0c3ea3c9e52bdeb9fcb5035713c599dd7 Mon Sep 17 00:00:00 2001 From: Thirumal Ravula Date: Wed, 20 Dec 2017 10:06:25 +0000 Subject: [PATCH 070/105] error echos put in place --- src/deployment/index.org | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/src/deployment/index.org b/src/deployment/index.org index b87f448..55bbc40 100755 --- a/src/deployment/index.org +++ b/src/deployment/index.org @@ -596,8 +596,17 @@ fi service apache2 restart export PYTHONPATH="/var/www" +if [[ $? -ne 0 ]]; then + echo "FATAL: Failed to restart apache2 webserver" + exit 1; +fi + setup_db +if [[ $? -ne 0 ]]; then + echo "FATAL: Failed to create database" + exit 1; +fi exit 0 From 09b4e4bc07f91e7d3294c23646d09bb121a7ed4b Mon Sep 17 00:00:00 2001 From: Thirumal Ravula Date: Wed, 20 Dec 2017 10:34:53 +0000 Subject: [PATCH 071/105] sudo removed for DB installation --- src/deployment/index.org | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/deployment/index.org b/src/deployment/index.org index 55bbc40..b220b55 100755 --- a/src/deployment/index.org +++ b/src/deployment/index.org @@ -389,8 +389,8 @@ echo "Installing MySQL database.." DBPASS="root" # Install MySQL Server in a Non-Interactive mode. -echo "mysql-server mysql-server/root_password password $DBPASS" | sudo debconf-set-selections -echo "mysql-server mysql-server/root_password_again password $DBPASS" | sudo debconf-set-selections +echo "mysql-server mysql-server/root_password password $DBPASS" | debconf-set-selections +echo "mysql-server mysql-server/root_password_again password $DBPASS" | debconf-set-selections apt-get install -y mysql-server if [[ $? -ne 0 ]]; then From b50c496bd79c367d8ad86f2a1180fc4e6cf08ee7 Mon Sep 17 00:00:00 2001 From: Thirumal Ravula Date: Wed, 20 Dec 2017 10:59:18 +0000 Subject: [PATCH 072/105] double brackets removed in shell scripts --- src/deployment/index.org | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/src/deployment/index.org b/src/deployment/index.org index b220b55..5219cc3 100755 --- a/src/deployment/index.org +++ b/src/deployment/index.org @@ -380,7 +380,7 @@ fi DB_PASS_FILE="db_pass.txt" -if [[ `id -u` -ne 0 ]]; then +if [ `id -u` -ne 0 ]; then echo "You have to execute this script as super user!" exit 1; fi @@ -393,7 +393,7 @@ echo "mysql-server mysql-server/root_password password $DBPASS" | debconf-set-se echo "mysql-server mysql-server/root_password_again password $DBPASS" | debconf-set-selections apt-get install -y mysql-server -if [[ $? -ne 0 ]]; then +if [ $? -ne 0 ]; then echo "FATAL: MySQL installation failed!" exit 1; fi @@ -563,7 +563,7 @@ update_apache_config() { setup_db() { echo "Creating database: $DB_NAME" mysql -u $DB_USER -p$DB_PASS -Bse "create database $DB_NAME;" - if [[ $? -ne 0 ]]; then + if [ $? -ne 0 ]; then echo "Failed to create database $DB_NAME" exit 1; fi @@ -583,27 +583,27 @@ setup_db() { <> update_app_config -if [[ $? -ne 0 ]]; then +if [ $? -ne 0 ]; then echo "FATAL: Failed to update application flask_app_config.py" exit 1; fi update_apache_config -if [[ $? -ne 0 ]]; then +if [ $? -ne 0 ]; then echo "FATAL: Failed to update apache config" exit 1; fi service apache2 restart export PYTHONPATH="/var/www" -if [[ $? -ne 0 ]]; then +if [ $? -ne 0 ]; then echo "FATAL: Failed to restart apache2 webserver" exit 1; fi setup_db -if [[ $? -ne 0 ]]; then +if [ $? -ne 0 ]; then echo "FATAL: Failed to create database" exit 1; fi From f8ba1a09ce01618667576e34bdaae4449f4a3186 Mon Sep 17 00:00:00 2001 From: ksripathi Date: Wed, 20 Dec 2017 16:44:59 +0530 Subject: [PATCH 073/105] added nginx service stop cmd to labspec --- scripts/labspec.json | 1 + 1 file changed, 1 insertion(+) diff --git a/scripts/labspec.json b/scripts/labspec.json index 59a375c..032460d 100644 --- a/scripts/labspec.json +++ b/scripts/labspec.json @@ -95,6 +95,7 @@ "min_required": "10gb" }, "installer": [ + "service nginx stop", "bash /var/www/deployment/setup.sh", "python /var/www/deployment/setup.py install", "bash /var/www/deployment/configure.sh", From bb9a7e63424277a00bd9c6b4d780baebf1ab1c86 Mon Sep 17 00:00:00 2001 From: madhavi Date: Thu, 21 Dec 2017 18:50:54 +0530 Subject: [PATCH 074/105] add phase table in rest layer --- src/runtime/rest/api.org | 272 +++++---------------------------------- 1 file changed, 34 insertions(+), 238 deletions(-) diff --git a/src/runtime/rest/api.org b/src/runtime/rest/api.org index eda674d..c2b77ef 100755 --- a/src/runtime/rest/api.org +++ b/src/runtime/rest/api.org @@ -1122,7 +1122,7 @@ def get_lab(): labs = SystemInterface.get_labs_by_discipline(discipline_name) current_app.logger.debug("completed operation get_labs_by_discipline") return jsonify_list(labs) - + except TypeError as e: current_app.logger.error("Exception = %s" % str(e)) err_str = str(e) @@ -1278,13 +1278,9 @@ class TestGetLab(TestCase): return app def setUp(self): - app = self.create_app() - self.app_context = app.app_context() - self.app_context.push() db.create_all() def tearDown(self): - self.app_context.pop() db.session.remove() db.drop_all() @@ -1427,6 +1423,7 @@ class TestGetLab(TestCase): "overview": "overview", "discipline_id": "CSE", "institute_id": "IITK", + "phase":[{"phase_id":1, "phase_id":2}], "developers": [ { "name": "Dinesh Malviya", @@ -1491,13 +1488,9 @@ class TestGetLabbyLabId(TestCase): return app def setUp(self): - app = self.create_app() - self.app_context = app.app_context() - self.app_context.push() db.create_all() def tearDown(self): - self.app_context.pop() db.session.remove() db.drop_all() @@ -1640,6 +1633,7 @@ class TestGetLabbyLabId(TestCase): "overview": "overview", "discipline_id": "CSE", "institute_id": "IITK", + "phase":[{"phase_id":1, "phase_id":2}], "developers": [ { "name": "Dinesh Malviya", @@ -1707,13 +1701,9 @@ class TestGetLabsbyInstitute(TestCase): return app def setUp(self): - app = self.create_app() - self.app_context = app.app_context() - self.app_context.push() db.create_all() def tearDown(self): - self.app_context.pop() db.session.remove() db.drop_all() @@ -1850,6 +1840,7 @@ class TestGetLabsbyInstitute(TestCase): "overview": "overview", "discipline_id": "CSE", "institute_id": "IITK", + "phase":[{"phase_id":1, "phase_id":2}], "developers": [ { "name": "Dinesh Malviya", @@ -1916,13 +1907,9 @@ class TestGetLabsbyDiscipline(TestCase): return app def setUp(self): - app = self.create_app() - self.app_context = app.app_context() - self.app_context.push() db.create_all() def tearDown(self): - self.app_context.pop() db.session.remove() db.drop_all() @@ -2062,6 +2049,7 @@ class TestGetLabsbyDiscipline(TestCase): "overview": "overview", "discipline_id": "CSE", "institute_id": "IITK", + "phase":[{"phase_id":1, "phase_id":2}], "developers": [ { "name": "Dinesh Malviya", @@ -2127,13 +2115,9 @@ class TestGetLabsbyLabName(TestCase): return app def setUp(self): - app = self.create_app() - self.app_context = app.app_context() - self.app_context.push() db.create_all() def tearDown(self): - self.app_context.pop() db.session.remove() db.drop_all() @@ -2282,6 +2266,7 @@ class TestGetLabsbyLabName(TestCase): "overview": "overview", "discipline_id": "CSE", "institute_id": "IITK", + "phase":[{"phase_id":1, "phase_id":2}], "developers": [ { "name": "Prof. Dharamaja", @@ -2348,13 +2333,9 @@ class TestGetLabsbyAsset(TestCase): return app def setUp(self): - app = self.create_app() - self.app_context = app.app_context() - self.app_context.push() db.create_all() def tearDown(self): - self.app_context.pop() db.session.remove() db.drop_all() @@ -2496,6 +2477,7 @@ class TestGetLabsbyAsset(TestCase): "overview": "overview", "discipline_id": "CSE", "institute_id": "IITK", + "phase":[{"phase_id":1, "phase_id":2}], "developers": [ { "name": "Dinesh Malviya", @@ -2563,13 +2545,9 @@ class TestGetLabbyLabNameKeyWord(TestCase): return app def setUp(self): - app = self.create_app() - self.app_context = app.app_context() - self.app_context.push() db.create_all() def tearDown(self): - self.app_context.pop() db.session.remove() db.drop_all() @@ -2698,6 +2676,7 @@ class TestGetLabbyLabNameKeyWord(TestCase): "overview": "overview", "discipline_id": "CSE", "institute_id": "IITK", + "phase":[{"phase_id":1, "phase_id":2}], "developers": [ { "name": "Prof. Dharamaja", @@ -2742,7 +2721,7 @@ class TestGetLabbyLabNameKeyWord(TestCase): #+END_SRC -** Add Lab +** Add Lab *** API Designs **** Add Lab :PROPERTIES: @@ -2764,6 +2743,7 @@ class TestGetLabbyLabNameKeyWord(TestCase): "overview": "overview", "discipline_id": "CSE", "institute_id": "IITK", + "phase":[{"phase_id":1, "phase_id":2}], "developers": [ { "name": "Dinesh Malviya", @@ -2878,6 +2858,7 @@ class TestGetLabbyLabNameKeyWord(TestCase): "institute_id": "iitk", "institute_name": "IIT Kanpur" }, + "phase":[{"phase_id":1, "phase_id":2}], "integration_status": { "id": "5", "integration_level": 4 @@ -2979,13 +2960,9 @@ class TestAddLab(TestCase): return app def setUp(self): - app = self.create_app() - self.app_context = app.app_context() - self.app_context.push() db.create_all() def tearDown(self): - self.app_context.pop() db.session.remove() db.drop_all() @@ -3127,7 +3104,9 @@ class TestAddLab(TestCase): "name": "Computer Programming", "overview": "overview", "discipline_id": "CSE", + "phase":[{"phase_id":1, "phase_id":2}], "institute_id": "IITK", + "phase":[{"phase_id":1, "phase_id":2}], "developers": [ { "name": "Dinesh Malviya", @@ -3185,7 +3164,7 @@ class TestAddLab(TestCase): #+END_SRC -** Update Lab +** Update Lab *** API Design **** Update lab by labid :PROPERTIES: @@ -3984,6 +3963,7 @@ class TestAddLab(TestCase): "id": "1", "integration_level": 0 }, + "phase":[{"phase_id":1, "phase_id":2}], "lab_id": "cse02", "lab_name": "Computer Programming", "overview": "This lab deals with Computer Programming", @@ -4079,13 +4059,9 @@ class TestUpdateLab(TestCase): return app def setUp(self): - app = self.create_app() - self.app_context = app.app_context() - self.app_context.push() db.create_all() def tearDown(self): - self.app_context.pop() db.session.remove() db.drop_all() @@ -4214,6 +4190,7 @@ class TestUpdateLab(TestCase): "overview": "overview", "discipline_id": "CSE", "institute_id": "IITK", + "phase":[{"phase_id":1, "phase_id":2}], "developers": [ { "name": "Prof. Dharamaja", @@ -4336,6 +4313,7 @@ class TestUpdateLab(TestCase): "overview": "cp overview", "discipline_id": "ECE", "institute_id": "IITKgp", + "phase":[{"phase_id":1, "phase_id":2}], "developers": [ { "name": "Prof. Pallavi Pawar", @@ -4629,13 +4607,9 @@ class TestGetInstitute(TestCase): return app def setUp(self): - app = self.create_app() - self.app_context = app.app_context() - self.app_context.push() db.create_all() def tearDown(self): - self.app_context.pop() db.session.remove() db.drop_all() @@ -4682,13 +4656,9 @@ class TestGetInstitute(TestCase): return app def setUp(self): - app = self.create_app() - self.app_context = app.app_context() - self.app_context.push() db.create_all() def tearDown(self): - self.app_context.pop() db.session.remove() db.drop_all() @@ -4850,13 +4820,9 @@ class TestAddInstitute(TestCase): return app def setUp(self): - app = self.create_app() - self.app_context = app.app_context() - self.app_context.push() db.create_all() def tearDown(self): - self.app_context.pop() db.session.remove() db.drop_all() @@ -4892,7 +4858,7 @@ class TestAddInstitute(TestCase): #+END_SRC - + ** Get Disciplines and Get Discipline *** API Design **** Get all Disciplines @@ -5063,7 +5029,7 @@ http://localhost:5000/disciplines http://localhost:5000/disciplines?discipline_id=cse #+END_EXAMPLE -*** Implementation +*** Implementation REST API to get discipline. #+NAME: get_disciplines #+BEGIN_SRC python @@ -5157,13 +5123,9 @@ class TestGetDiscipline(TestCase): return app def setUp(self): - app = self.create_app() - self.app_context = app.app_context() - self.app_context.push() db.create_all() def tearDown(self): - self.app_context.pop() db.session.remove() db.drop_all() @@ -5210,13 +5172,9 @@ class TestGetDisciplineByDisId(TestCase): return app def setUp(self): - app = self.create_app() - self.app_context = app.app_context() - self.app_context.push() db.create_all() def tearDown(self): - self.app_context.pop() db.session.remove() db.drop_all() @@ -5379,13 +5337,9 @@ class TestAddDiscipline(TestCase): return app def setUp(self): - app = self.create_app() - self.app_context = app.app_context() - self.app_context.push() db.create_all() def tearDown(self): - self.app_context.pop() db.session.remove() db.drop_all() @@ -5818,7 +5772,7 @@ def get_experiment(): abort(500, msg) #+END_SRC - + *** Test Cases **** TestGetExperiment #+NAME: test_get_Experiment @@ -5830,13 +5784,9 @@ class TestGetExperiment(TestCase): return app def setUp(self): - app = self.create_app() - self.app_context = app.app_context() - self.app_context.push() db.create_all() def tearDown(self): - self.app_context.pop() db.session.remove() db.drop_all() @@ -5986,13 +5936,9 @@ class TestGetExp(TestCase): return app def setUp(self): - app = self.create_app() - self.app_context = app.app_context() - self.app_context.push() db.create_all() def tearDown(self): - self.app_context.pop() db.session.remove() db.drop_all() @@ -6382,13 +6328,9 @@ class TestAddExperiment(TestCase): return app def setUp(self): - app = self.create_app() - self.app_context = app.app_context() - self.app_context.push() db.create_all() def tearDown(self): - self.app_context.pop() db.session.remove() db.drop_all() @@ -6522,7 +6464,7 @@ class TestAddExperiment(TestCase): #+END_SRC - + ** Get Sections *** API Design **** Get all Sections @@ -6607,13 +6549,9 @@ class TestGetSections(TestCase): return app def setUp(self): - app = self.create_app() - self.app_context = app.app_context() - self.app_context.push() db.create_all() def tearDown(self): - self.app_context.pop() db.session.remove() db.drop_all() @@ -6744,13 +6682,9 @@ class TestAddSection(TestCase): return app def setUp(self): - app = self.create_app() - self.app_context = app.app_context() - self.app_context.push() db.create_all() def tearDown(self): - self.app_context.pop() db.session.remove() db.drop_all() @@ -6942,13 +6876,9 @@ class TestGetHosting_Info(TestCase): return app def setUp(self): - app = self.create_app() - self.app_context = app.app_context() - self.app_context.push() db.create_all() def tearDown(self): - self.app_context.pop() db.session.remove() db.drop_all() @@ -6980,13 +6910,9 @@ class TestGetAssetByPath(TestCase): return app def setUp(self): - app = self.create_app() - self.app_context = app.app_context() - self.app_context.push() db.create_all() def tearDown(self): - self.app_context.pop() db.session.remove() db.drop_all() @@ -7107,13 +7033,9 @@ class TestDeleteLab(TestCase): return app def setUp(self): - app = self.create_app() - self.app_context = app.app_context() - self.app_context.push() db.create_all() def tearDown(self): - self.app_context.pop() db.session.remove() db.drop_all() @@ -7254,6 +7176,7 @@ class TestDeleteLab(TestCase): "overview": "overview", "discipline_id": "CSE", "institute_id": "IITK", + "phase":[{"phase_id":1, "phase_id":2}], "developers": [ { "name": "Dinesh Malviya", @@ -7424,13 +7347,9 @@ class TestAddHosting_Info(TestCase): return app def setUp(self): - app = self.create_app() - self.app_context = app.app_context() - self.app_context.push() db.create_all() def tearDown(self): - self.app_context.pop() db.session.remove() db.drop_all() @@ -7625,13 +7544,9 @@ class TestGetIntegration_Status(TestCase): return app def setUp(self): - app = self.create_app() - self.app_context = app.app_context() - self.app_context.push() db.create_all() def tearDown(self): - self.app_context.pop() db.session.remove() db.drop_all() @@ -7761,13 +7676,9 @@ class TestAddIntegration_Status(TestCase): return app def setUp(self): - app = self.create_app() - self.app_context = app.app_context() - self.app_context.push() db.create_all() def tearDown(self): - self.app_context.pop() db.session.remove() db.drop_all() @@ -7909,13 +7820,9 @@ class TestGetEmail(TestCase): return app def setUp(self): - app = self.create_app() - self.app_context = app.app_context() - self.app_context.push() db.create_all() def tearDown(self): - self.app_context.pop() db.session.remove() db.drop_all() @@ -7935,7 +7842,7 @@ class TestGetEmail(TestCase): #+END_SRC - + ** Add Email *** API Design **** Add Email @@ -8045,13 +7952,9 @@ class TestAddEmail(TestCase): return app def setUp(self): - app = self.create_app() - self.app_context = app.app_context() - self.app_context.push() db.create_all() def tearDown(self): - self.app_context.pop() db.session.remove() db.drop_all() @@ -8069,7 +7972,7 @@ class TestAddEmail(TestCase): #+END_SRC - + ** Get Names *** API Design **** Get all names @@ -8154,13 +8057,9 @@ class TestGetNames(TestCase): return app def setUp(self): - app = self.create_app() - self.app_context = app.app_context() - self.app_context.push() db.create_all() def tearDown(self): - self.app_context.pop() db.session.remove() db.drop_all() @@ -8291,13 +8190,9 @@ class TestAddName(TestCase): return app def setUp(self): - app = self.create_app() - self.app_context = app.app_context() - self.app_context.push() db.create_all() def tearDown(self): - self.app_context.pop() db.session.remove() db.drop_all() @@ -8414,7 +8309,9 @@ def get_developer(): msg = {"status": "failure", "msg": err_str} abort(500, msg) - +# elif 'start' in request.args and 'limit' in request.args: +# start=request.args['start'] +# limit=request.args['limit'] else: try: current_app.logger.debug("execute get_developers") @@ -8422,6 +8319,9 @@ def get_developer(): current_app.logger.debug("executed get_developers") return jsonify_list(developers) +# start=int(request.args.get('page', start)), +# limit=int(request.args.get('pageSize', limit)) + except TypeError as e: current_app.logger.error("Exception = %s" % str(e)) err_str = str(e) @@ -8463,13 +8363,9 @@ class TestGetDeveloper(TestCase): return app def setUp(self): - app = self.create_app() - self.app_context = app.app_context() - self.app_context.push() db.create_all() def tearDown(self): - self.app_context.pop() db.session.remove() db.drop_all() @@ -8608,13 +8504,9 @@ class TestAddDeveloper(TestCase): return app def setUp(self): - app = self.create_app() - self.app_context = app.app_context() - self.app_context.push() db.create_all() def tearDown(self): - self.app_context.pop() db.session.remove() db.drop_all() @@ -8828,13 +8720,9 @@ class TestUpdateExperiment(TestCase): return app def setUp(self): - app = self.create_app() - self.app_context = app.app_context() - self.app_context.push() db.create_all() def tearDown(self): - self.app_context.pop() db.session.remove() db.drop_all() @@ -9189,13 +9077,9 @@ class TestUpdateSection(TestCase): return app def setUp(self): - app = self.create_app() - self.app_context = app.app_context() - self.app_context.push() db.create_all() def tearDown(self): - self.app_context.pop() db.session.remove() db.drop_all() @@ -9317,13 +9201,9 @@ class TestDeleteSection(TestCase): return app def setUp(self): - app = self.create_app() - self.app_context = app.app_context() - self.app_context.push() db.create_all() def tearDown(self): - self.app_context.pop() db.session.remove() db.drop_all() @@ -9444,13 +9324,9 @@ class TestGetSectionbyid(TestCase): return app def setUp(self): - app = self.create_app() - self.app_context = app.app_context() - self.app_context.push() db.create_all() def tearDown(self): - self.app_context.pop() db.session.remove() db.drop_all() @@ -9606,13 +9482,9 @@ class TestUpdateInstitute(TestCase): return app def setUp(self): - app = self.create_app() - self.app_context = app.app_context() - self.app_context.push() db.create_all() def tearDown(self): - self.app_context.pop() db.session.remove() db.drop_all() @@ -9772,13 +9644,9 @@ class TestDeleteInstitute(TestCase): return app def setUp(self): - app = self.create_app() - self.app_context = app.app_context() - self.app_context.push() db.create_all() def tearDown(self): - self.app_context.pop() db.session.remove() db.drop_all() @@ -9949,13 +9817,9 @@ class TestUpdateDiscipline(TestCase): return app def setUp(self): - app = self.create_app() - self.app_context = app.app_context() - self.app_context.push() db.create_all() def tearDown(self): - self.app_context.pop() db.session.remove() db.drop_all() @@ -10105,13 +9969,9 @@ class TestDeleteDiscipline(TestCase): return app def setUp(self): - app = self.create_app() - self.app_context = app.app_context() - self.app_context.push() db.create_all() def tearDown(self): - self.app_context.pop() db.session.remove() db.drop_all() @@ -10268,13 +10128,9 @@ class TestUpdateHosting_Info(TestCase): return app def setUp(self): - app = self.create_app() - self.app_context = app.app_context() - self.app_context.push() db.create_all() def tearDown(self): - self.app_context.pop() db.session.remove() db.drop_all() @@ -10425,13 +10281,9 @@ class TestUpdateDeveloper(TestCase): return app def setUp(self): - app = self.create_app() - self.app_context = app.app_context() - self.app_context.push() db.create_all() def tearDown(self): - self.app_context.pop() db.session.remove() db.drop_all() @@ -10442,13 +10294,9 @@ class TestUpdateDeveloper(TestCase): return app def setUp(self): - app = self.create_app() - self.app_context = app.app_context() - self.app_context.push() db.create_all() def tearDown(self): - self.app_context.pop() db.session.remove() db.drop_all() @@ -10635,13 +10483,9 @@ class TestDeleteHosting_Info(TestCase): return app def setUp(self): - app = self.create_app() - self.app_context = app.app_context() - self.app_context.push() db.create_all() def tearDown(self): - self.app_context.pop() db.session.remove() db.drop_all() @@ -10766,13 +10610,9 @@ class TestDeleteIntegration_Status(TestCase): return app def setUp(self): - app = self.create_app() - self.app_context = app.app_context() - self.app_context.push() db.create_all() def tearDown(self): - self.app_context.pop() db.session.remove() db.drop_all() @@ -10894,13 +10734,9 @@ class TestDeleteEmail(TestCase): return app def setUp(self): - app = self.create_app() - self.app_context = app.app_context() - self.app_context.push() db.create_all() def tearDown(self): - self.app_context.pop() db.session.remove() db.drop_all() @@ -11180,13 +11016,9 @@ class TestUpdateNameById(TestCase): return app def setUp(self): - app = self.create_app() - self.app_context = app.app_context() - self.app_context.push() db.create_all() def tearDown(self): - self.app_context.pop() db.session.remove() db.drop_all() @@ -11220,13 +11052,9 @@ class TestDeleteNameById(TestCase): return app def setUp(self): - app = self.create_app() - self.app_context = app.app_context() - self.app_context.push() db.create_all() def tearDown(self): - self.app_context.pop() db.session.remove() db.drop_all() @@ -11258,13 +11086,9 @@ class TestGetNamebyid(TestCase): return app def setUp(self): - app = self.create_app() - self.app_context = app.app_context() - self.app_context.push() db.create_all() def tearDown(self): - self.app_context.pop() db.session.remove() db.drop_all() @@ -11386,13 +11210,9 @@ class TestDeleteDeveloper(TestCase): return app def setUp(self): - app = self.create_app() - self.app_context = app.app_context() - self.app_context.push() db.create_all() def tearDown(self): - self.app_context.pop() db.session.remove() db.drop_all() @@ -11514,13 +11334,9 @@ class TestDeleteExperiment(TestCase): return app def setUp(self): - app = self.create_app() - self.app_context = app.app_context() - self.app_context.push() db.create_all() def tearDown(self): - self.app_context.pop() db.session.remove() db.drop_all() @@ -11818,13 +11634,9 @@ class TestGetAsset(TestCase): return app def setUp(self): - app = self.create_app() - self.app_context = app.app_context() - self.app_context.push() db.create_all() def tearDown(self): - self.app_context.pop() db.session.remove() db.drop_all() @@ -11855,13 +11667,9 @@ class TestGetAsset(TestCase): return app def setUp(self): - app = self.create_app() - self.app_context = app.app_context() - self.app_context.push() db.create_all() def tearDown(self): - self.app_context.pop() db.session.remove() db.drop_all() @@ -11995,13 +11803,9 @@ class TestAddAsset(TestCase): return app def setUp(self): - app = self.create_app() - self.app_context = app.app_context() - self.app_context.push() db.create_all() def tearDown(self): - self.app_context.pop() db.session.remove() db.drop_all() @@ -12136,13 +11940,9 @@ class TestUpdateAsset(TestCase): return app def setUp(self): - app = self.create_app() - self.app_context = app.app_context() - self.app_context.push() db.create_all() def tearDown(self): - self.app_context.pop() db.session.remove() db.drop_all() @@ -12269,13 +12069,9 @@ class TestDeleteAsset(TestCase): return app def setUp(self): - app = self.create_app() - self.app_context = app.app_context() - self.app_context.push() db.create_all() def tearDown(self): - self.app_context.pop() db.session.remove() db.drop_all() @@ -12310,7 +12106,7 @@ import os import requests import json from flask import session, render_template, Blueprint, request, \ - jsonify, abort, current_app, redirect, url_for + jsonify, abort, current_app, redirect, url_for, make_response from flask import Flask from runtime.utils.type_utils import jsonify_list from runtime.exceptions.custom_exceptions import * @@ -12321,7 +12117,7 @@ api = Blueprint('APIs', __name__) #+end_src - + ** tests *** Imports #+name: imports_for_tests @@ -12402,7 +12198,7 @@ if __name__ == '__main__': #+END_SRC - + ** tests #+BEGIN_SRC python :tangle test_api.py :eval no :noweb yes <> @@ -12428,7 +12224,7 @@ if __name__ == '__main__': <> <> <> -<> +<> <> <> <> From cf98dd6b928b2a38c0517692ba40402074d4166f Mon Sep 17 00:00:00 2001 From: madhavi Date: Thu, 21 Dec 2017 20:58:23 +0530 Subject: [PATCH 075/105] update setup in test cases --- src/runtime/rest/api.org | 220 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 220 insertions(+) diff --git a/src/runtime/rest/api.org b/src/runtime/rest/api.org index c2b77ef..fdb5754 100755 --- a/src/runtime/rest/api.org +++ b/src/runtime/rest/api.org @@ -1278,9 +1278,13 @@ class TestGetLab(TestCase): return app def setUp(self): + app = self.create_app() + self.app_context = app.app_context() + self.app_context.push() db.create_all() def tearDown(self): + self.app_context.pop() db.session.remove() db.drop_all() @@ -1488,9 +1492,13 @@ class TestGetLabbyLabId(TestCase): return app def setUp(self): + app = self.create_app() + self.app_context = app.app_context() + self.app_context.push() db.create_all() def tearDown(self): + self.app_context.pop() db.session.remove() db.drop_all() @@ -1701,9 +1709,13 @@ class TestGetLabsbyInstitute(TestCase): return app def setUp(self): + app = self.create_app() + self.app_context = app.app_context() + self.app_context.push() db.create_all() def tearDown(self): + self.app_context.pop() db.session.remove() db.drop_all() @@ -1907,9 +1919,13 @@ class TestGetLabsbyDiscipline(TestCase): return app def setUp(self): + app = self.create_app() + self.app_context = app.app_context() + self.app_context.push() db.create_all() def tearDown(self): + self.app_context.pop() db.session.remove() db.drop_all() @@ -2115,9 +2131,13 @@ class TestGetLabsbyLabName(TestCase): return app def setUp(self): + app = self.create_app() + self.app_context = app.app_context() + self.app_context.push() db.create_all() def tearDown(self): + self.app_context.pop() db.session.remove() db.drop_all() @@ -2333,9 +2353,13 @@ class TestGetLabsbyAsset(TestCase): return app def setUp(self): + app = self.create_app() + self.app_context = app.app_context() + self.app_context.push() db.create_all() def tearDown(self): + self.app_context.pop() db.session.remove() db.drop_all() @@ -2545,9 +2569,13 @@ class TestGetLabbyLabNameKeyWord(TestCase): return app def setUp(self): + app = self.create_app() + self.app_context = app.app_context() + self.app_context.push() db.create_all() def tearDown(self): + self.app_context.pop() db.session.remove() db.drop_all() @@ -2960,9 +2988,13 @@ class TestAddLab(TestCase): return app def setUp(self): + app = self.create_app() + self.app_context = app.app_context() + self.app_context.push() db.create_all() def tearDown(self): + self.app_context.pop() db.session.remove() db.drop_all() @@ -4059,9 +4091,13 @@ class TestUpdateLab(TestCase): return app def setUp(self): + app = self.create_app() + self.app_context = app.app_context() + self.app_context.push() db.create_all() def tearDown(self): + self.app_context.pop() db.session.remove() db.drop_all() @@ -4607,9 +4643,13 @@ class TestGetInstitute(TestCase): return app def setUp(self): + app = self.create_app() + self.app_context = app.app_context() + self.app_context.push() db.create_all() def tearDown(self): + self.app_context.pop() db.session.remove() db.drop_all() @@ -4656,9 +4696,13 @@ class TestGetInstitute(TestCase): return app def setUp(self): + app = self.create_app() + self.app_context = app.app_context() + self.app_context.push() db.create_all() def tearDown(self): + self.app_context.pop() db.session.remove() db.drop_all() @@ -4820,9 +4864,13 @@ class TestAddInstitute(TestCase): return app def setUp(self): + app = self.create_app() + self.app_context = app.app_context() + self.app_context.push() db.create_all() def tearDown(self): + self.app_context.pop() db.session.remove() db.drop_all() @@ -5123,9 +5171,13 @@ class TestGetDiscipline(TestCase): return app def setUp(self): + app = self.create_app() + self.app_context = app.app_context() + self.app_context.push() db.create_all() def tearDown(self): + self.app_context.pop() db.session.remove() db.drop_all() @@ -5172,9 +5224,13 @@ class TestGetDisciplineByDisId(TestCase): return app def setUp(self): + app = self.create_app() + self.app_context = app.app_context() + self.app_context.push() db.create_all() def tearDown(self): + self.app_context.pop() db.session.remove() db.drop_all() @@ -5340,6 +5396,7 @@ class TestAddDiscipline(TestCase): db.create_all() def tearDown(self): + self.app_context.pop() db.session.remove() db.drop_all() @@ -5784,9 +5841,13 @@ class TestGetExperiment(TestCase): return app def setUp(self): + app = self.create_app() + self.app_context = app.app_context() + self.app_context.push() db.create_all() def tearDown(self): + self.app_context.pop() db.session.remove() db.drop_all() @@ -5936,9 +5997,13 @@ class TestGetExp(TestCase): return app def setUp(self): + app = self.create_app() + self.app_context = app.app_context() + self.app_context.push() db.create_all() def tearDown(self): + self.app_context.pop() db.session.remove() db.drop_all() @@ -6328,9 +6393,13 @@ class TestAddExperiment(TestCase): return app def setUp(self): + app = self.create_app() + self.app_context = app.app_context() + self.app_context.push() db.create_all() def tearDown(self): + self.app_context.pop() db.session.remove() db.drop_all() @@ -6549,9 +6618,13 @@ class TestGetSections(TestCase): return app def setUp(self): + app = self.create_app() + self.app_context = app.app_context() + self.app_context.push() db.create_all() def tearDown(self): + self.app_context.pop() db.session.remove() db.drop_all() @@ -6682,9 +6755,13 @@ class TestAddSection(TestCase): return app def setUp(self): + app = self.create_app() + self.app_context = app.app_context() + self.app_context.push() db.create_all() def tearDown(self): + self.app_context.pop() db.session.remove() db.drop_all() @@ -6876,9 +6953,13 @@ class TestGetHosting_Info(TestCase): return app def setUp(self): + app = self.create_app() + self.app_context = app.app_context() + self.app_context.push() db.create_all() def tearDown(self): + self.app_context.pop() db.session.remove() db.drop_all() @@ -6910,9 +6991,13 @@ class TestGetAssetByPath(TestCase): return app def setUp(self): + app = self.create_app() + self.app_context = app.app_context() + self.app_context.push() db.create_all() def tearDown(self): + self.app_context.pop() db.session.remove() db.drop_all() @@ -7033,9 +7118,13 @@ class TestDeleteLab(TestCase): return app def setUp(self): + app = self.create_app() + self.app_context = app.app_context() + self.app_context.push() db.create_all() def tearDown(self): + self.app_context.pop() db.session.remove() db.drop_all() @@ -7347,9 +7436,13 @@ class TestAddHosting_Info(TestCase): return app def setUp(self): + app = self.create_app() + self.app_context = app.app_context() + self.app_context.push() db.create_all() def tearDown(self): + self.app_context.pop() db.session.remove() db.drop_all() @@ -7544,9 +7637,13 @@ class TestGetIntegration_Status(TestCase): return app def setUp(self): + app = self.create_app() + self.app_context = app.app_context() + self.app_context.push() db.create_all() def tearDown(self): + self.app_context.pop() db.session.remove() db.drop_all() @@ -7676,9 +7773,13 @@ class TestAddIntegration_Status(TestCase): return app def setUp(self): + app = self.create_app() + self.app_context = app.app_context() + self.app_context.push() db.create_all() def tearDown(self): + self.app_context.pop() db.session.remove() db.drop_all() @@ -7820,9 +7921,13 @@ class TestGetEmail(TestCase): return app def setUp(self): + app = self.create_app() + self.app_context = app.app_context() + self.app_context.push() db.create_all() def tearDown(self): + self.app_context.pop() db.session.remove() db.drop_all() @@ -7952,9 +8057,13 @@ class TestAddEmail(TestCase): return app def setUp(self): + app = self.create_app() + self.app_context = app.app_context() + self.app_context.push() db.create_all() def tearDown(self): + self.app_context.pop() db.session.remove() db.drop_all() @@ -8057,9 +8166,13 @@ class TestGetNames(TestCase): return app def setUp(self): + app = self.create_app() + self.app_context = app.app_context() + self.app_context.push() db.create_all() def tearDown(self): + self.app_context.pop() db.session.remove() db.drop_all() @@ -8190,9 +8303,13 @@ class TestAddName(TestCase): return app def setUp(self): + app = self.create_app() + self.app_context = app.app_context() + self.app_context.push() db.create_all() def tearDown(self): + self.app_context.pop() db.session.remove() db.drop_all() @@ -8363,9 +8480,13 @@ class TestGetDeveloper(TestCase): return app def setUp(self): + app = self.create_app() + self.app_context = app.app_context() + self.app_context.push() db.create_all() def tearDown(self): + self.app_context.pop() db.session.remove() db.drop_all() @@ -8504,9 +8625,13 @@ class TestAddDeveloper(TestCase): return app def setUp(self): + app = self.create_app() + self.app_context = app.app_context() + self.app_context.push() db.create_all() def tearDown(self): + self.app_context.pop() db.session.remove() db.drop_all() @@ -8720,9 +8845,13 @@ class TestUpdateExperiment(TestCase): return app def setUp(self): + app = self.create_app() + self.app_context = app.app_context() + self.app_context.push() db.create_all() def tearDown(self): + self.app_context.pop() db.session.remove() db.drop_all() @@ -9077,9 +9206,13 @@ class TestUpdateSection(TestCase): return app def setUp(self): + app = self.create_app() + self.app_context = app.app_context() + self.app_context.push() db.create_all() def tearDown(self): + self.app_context.pop() db.session.remove() db.drop_all() @@ -9201,9 +9334,13 @@ class TestDeleteSection(TestCase): return app def setUp(self): + app = self.create_app() + self.app_context = app.app_context() + self.app_context.push() db.create_all() def tearDown(self): + self.app_context.pop() db.session.remove() db.drop_all() @@ -9324,9 +9461,13 @@ class TestGetSectionbyid(TestCase): return app def setUp(self): + app = self.create_app() + self.app_context = app.app_context() + self.app_context.push() db.create_all() def tearDown(self): + self.app_context.pop() db.session.remove() db.drop_all() @@ -9482,9 +9623,13 @@ class TestUpdateInstitute(TestCase): return app def setUp(self): + app = self.create_app() + self.app_context = app.app_context() + self.app_context.push() db.create_all() def tearDown(self): + self.app_context.pop() db.session.remove() db.drop_all() @@ -9644,9 +9789,13 @@ class TestDeleteInstitute(TestCase): return app def setUp(self): + app = self.create_app() + self.app_context = app.app_context() + self.app_context.push() db.create_all() def tearDown(self): + self.app_context.pop() db.session.remove() db.drop_all() @@ -9817,9 +9966,13 @@ class TestUpdateDiscipline(TestCase): return app def setUp(self): + app = self.create_app() + self.app_context = app.app_context() + self.app_context.push() db.create_all() def tearDown(self): + self.app_context.pop() db.session.remove() db.drop_all() @@ -9969,9 +10122,13 @@ class TestDeleteDiscipline(TestCase): return app def setUp(self): + app = self.create_app() + self.app_context = app.app_context() + self.app_context.push() db.create_all() def tearDown(self): + self.app_context.pop() db.session.remove() db.drop_all() @@ -10128,9 +10285,13 @@ class TestUpdateHosting_Info(TestCase): return app def setUp(self): + app = self.create_app() + self.app_context = app.app_context() + self.app_context.push() db.create_all() def tearDown(self): + self.app_context.pop() db.session.remove() db.drop_all() @@ -10281,9 +10442,13 @@ class TestUpdateDeveloper(TestCase): return app def setUp(self): + app = self.create_app() + self.app_context = app.app_context() + self.app_context.push() db.create_all() def tearDown(self): + self.app_context.pop() db.session.remove() db.drop_all() @@ -10294,9 +10459,13 @@ class TestUpdateDeveloper(TestCase): return app def setUp(self): + app = self.create_app() + self.app_context = app.app_context() + self.app_context.push() db.create_all() def tearDown(self): + self.app_context.pop() db.session.remove() db.drop_all() @@ -10483,9 +10652,13 @@ class TestDeleteHosting_Info(TestCase): return app def setUp(self): + app = self.create_app() + self.app_context = app.app_context() + self.app_context.push() db.create_all() def tearDown(self): + self.app_context.pop() db.session.remove() db.drop_all() @@ -10610,9 +10783,13 @@ class TestDeleteIntegration_Status(TestCase): return app def setUp(self): + app = self.create_app() + self.app_context = app.app_context() + self.app_context.push() db.create_all() def tearDown(self): + self.app_context.pop() db.session.remove() db.drop_all() @@ -10734,9 +10911,13 @@ class TestDeleteEmail(TestCase): return app def setUp(self): + app = self.create_app() + self.app_context = app.app_context() + self.app_context.push() db.create_all() def tearDown(self): + self.app_context.pop() db.session.remove() db.drop_all() @@ -11016,6 +11197,9 @@ class TestUpdateNameById(TestCase): return app def setUp(self): + app = self.create_app() + self.app_context = app.app_context() + self.app_context.push() db.create_all() def tearDown(self): @@ -11052,9 +11236,13 @@ class TestDeleteNameById(TestCase): return app def setUp(self): + app = self.create_app() + self.app_context = app.app_context() + self.app_context.push() db.create_all() def tearDown(self): + self.app_context.pop() db.session.remove() db.drop_all() @@ -11086,9 +11274,13 @@ class TestGetNamebyid(TestCase): return app def setUp(self): + app = self.create_app() + self.app_context = app.app_context() + self.app_context.push() db.create_all() def tearDown(self): + self.app_context.pop() db.session.remove() db.drop_all() @@ -11210,9 +11402,13 @@ class TestDeleteDeveloper(TestCase): return app def setUp(self): + app = self.create_app() + self.app_context = app.app_context() + self.app_context.push() db.create_all() def tearDown(self): + self.app_context.pop() db.session.remove() db.drop_all() @@ -11334,9 +11530,13 @@ class TestDeleteExperiment(TestCase): return app def setUp(self): + app = self.create_app() + self.app_context = app.app_context() + self.app_context.push() db.create_all() def tearDown(self): + self.app_context.pop() db.session.remove() db.drop_all() @@ -11634,9 +11834,13 @@ class TestGetAsset(TestCase): return app def setUp(self): + app = self.create_app() + self.app_context = app.app_context() + self.app_context.push() db.create_all() def tearDown(self): + self.app_context.pop() db.session.remove() db.drop_all() @@ -11667,9 +11871,13 @@ class TestGetAsset(TestCase): return app def setUp(self): + app = self.create_app() + self.app_context = app.app_context() + self.app_context.push() db.create_all() def tearDown(self): + self.app_context.pop() db.session.remove() db.drop_all() @@ -11803,9 +12011,13 @@ class TestAddAsset(TestCase): return app def setUp(self): + app = self.create_app() + self.app_context = app.app_context() + self.app_context.push() db.create_all() def tearDown(self): + self.app_context.pop() db.session.remove() db.drop_all() @@ -11940,9 +12152,13 @@ class TestUpdateAsset(TestCase): return app def setUp(self): + app = self.create_app() + self.app_context = app.app_context() + self.app_context.push() db.create_all() def tearDown(self): + self.app_context.pop() db.session.remove() db.drop_all() @@ -12069,9 +12285,13 @@ class TestDeleteAsset(TestCase): return app def setUp(self): + app = self.create_app() + self.app_context = app.app_context() + self.app_context.push() db.create_all() def tearDown(self): + self.app_context.pop() db.session.remove() db.drop_all() From 5530b813dd02617108582c65aaaae5f81e1491d1 Mon Sep 17 00:00:00 2001 From: madhavi Date: Tue, 26 Dec 2017 16:34:04 +0530 Subject: [PATCH 076/105] update development environment document --- .../run-lds-in-development-environment.org | 169 +++++++++--------- 1 file changed, 84 insertions(+), 85 deletions(-) diff --git a/src/deployment/run-lds-in-development-environment.org b/src/deployment/run-lds-in-development-environment.org index 4f1d5eb..6b492fa 100755 --- a/src/deployment/run-lds-in-development-environment.org +++ b/src/deployment/run-lds-in-development-environment.org @@ -6,109 +6,108 @@ #+SETUPFILE: ./org-templates/level-0.org #+options: ^:nil -* Creation of database - - Login to mysql - #+BEGIN_EXAMPLE - mysql -u -p - #+END_EXAMPLE - - Show all databases - #+BEGIN_EXAMPLE - show databases; - #+END_EXAMPLE - - If database is not present, create it - #+BEGIN_EXAMPLE - create database lds; - #+END_EXAMPLE - - Exit out of the mysql console - - Get the mysql dump file for the given version from - [[http://files.vlabs.ac.in/lds]] - #+BEGIN_EXAMPLE - wget http://files.vlabs.ac.in/lds/lds-latest-dump-19-12-2017.sql - #+END_EXAMPLE - - Restore Dump in Database -#+BEGIN_EXAMPLE -mysql -u root -p$DB_PASS $DB_NAME < $DB_NAME.sql -#+END_EXAMPLE -* Creation of Virtual Environment - - + Create Virtual Environemnt in the =lab-data-service= directory - #+BEGIN_EXAMPLE - virtualenv venv - #+END_EXAMPLE - + Activate the Virtual Environment - #+BEGIN_EXAMPLE - source venv/bin/activate - #+END_EXAMPLE +* Creation of Virtual Environment + 1. clone =lab-data-service= from github + #+BEGIN_EXAMPLE + git clone http://github.com/vlead/lab-data-service.git + #+END_EXAMPLE + 2. Install Virtual Environment + #+BEGIN_EXAMPLE + sudo pip install virtualenv + #+END_EXAMPLE + 3. Create Virtual Environment in the =lab-data-service= + directory + #+BEGIN_EXAMPLE + cd lab-data-service + git checkout develop + virtualenv venv + #+END_EXAMPLE + 4. Activate the Virtual Environment + #+BEGIN_EXAMPLE + source venv/bin/activate + #+END_EXAMPLE * Setting up dependencies - - Install all the dependencies for running the =lds= applciation. - The =setup.py= script is in the =build/code/deployment/= directory - #+BEGIN_EXAMPLE - cd build/code/deployment/ - python setup.py install - - #+END_EXAMPLE - Note :- If you found error something like =error: Couldn't find a setup script - in /tmp/easy_install-oTRjpD/oursql-0.9.3.2.linux-i686.tar.gz= please - execute below steps skip otherwise -#+BEGIN_EXAMPLE -sudo apt-get install libmysqlclient-dev -mkdir oursql -cd oursql -wget https://pypi.python.org/packages/8c/88/9f53a314a2af6f56c0a1249c5673ee384b85dc791bac5c1228772ced3502/oursql-0.9.3.2.tar.gz#md5=ade5959a6571b1626966d47f3ab2d315 -tar xvf oursql-0.9.3.2.tar.gz -cd oursql-0.9.3.2 -python setup.py install - -#+END_EXAMPLE - + 1. Run =make= file in =lab-data-service=. + #+BEGIN_EXAMPLE + make + #+END_EXAMPLE + *Note*: Test cases will fail at this point because + there are no dependencies installed. Proceed to next + step to install dependencies. + 2. Install all the dependencies for running the =lds= applciation. + run the =setup.py= file, available at =build/code/deployment/=. + #+BEGIN_EXAMPLE + cd build/code/deployment/ + python setup.py install + #+END_EXAMPLE + *Note* : If you found error something like + =error:Couldn't find a setup script in/tmp/easy_install-oTRjpD/oursql-0.9.3.2.linux-i686.tar.gz= + please execute below steps otherwise skip + #+BEGIN_EXAMPLE + sudo apt-get install libmysqlclient-dev python-dev + mkdir oursql + cd oursql + wget https://pypi.python.org/packages/8c/88/9f53a314a2af6f56c0a1249c5673ee384b85dc791bac5c1228772ced3502/oursql-0.9.3.2.tar.gz#md5=ade5959a6571b1626966d47f3ab2d315 + tar xvf oursql-0.9.3.2.tar.gz + cd oursql-0.9.3.2 + python setup.py install + #+END_EXAMPLE * Set SQLALCHEMY_DATABASE_URI - The variable =SQLALCHEMY_DATABASE_URI= has to be set to proper value in - =build/code/runtime/config/flask_app_config.py= so that the application can use the database. + The variable =SQLALCHEMY_DATABASE_URI= has to be set to + value in =build/code/runtime/config/flask_app_config.py= + so that the application can use the database. #+BEGIN_EXAMPLE - SQLALCHEMY_DATABASE_URI = 'mysql+oursql://root:pswd@localhost/lds' - #+END_EXAMPLE - - -* Insert Dafault data - Run db_setup.py to create the database schema - #+BEGIN_EXAMPLE - cd build/code/ - export PYTHONPATH=$(pwd) - cd deployment - python db_setup.py - #+END_EXAMPLE - - -* Make SSL Certicates and Key - Go to =build/code/runtime/rest= and run the ~cert.py~ present - in the directory inorder to get the required files. - #+BEGIN_EXAMPLE - cd build/code/runtime/rest - python cert.py + SQLALCHEMY_DATABASE_URI = 'mysql+oursql://root:@localhost/lds' #+END_EXAMPLE +* Creation of database + 1. Login to mysql + #+BEGIN_EXAMPLE + mysql -u -p + #+END_EXAMPLE + 2. Show all databases + #+BEGIN_EXAMPLE + show databases; + #+END_EXAMPLE + 3. Drop database =lds= if already present. Otherwise skip + this step + #+BEGIN_EXAMPLE + drop database lds; + #+END_EXAMPLE + 4. Create database =lds=. + #+BEGIN_EXAMPLE + create database lds; + #+END_EXAMPLE + 5. Exit out of the mysql console + #+BEGIN_EXAMPLE + ctrl+c + #+END_EXAMPLE + 6. Get the latest mysql dump file from the files server. + [[http://files.vlabs.ac.in/lds]] + #+BEGIN_EXAMPLE + wget http://files.vlabs.ac.in/lds/.sql + #+END_EXAMPLE + 7. Restore Dump in Database +#+BEGIN_EXAMPLE +mysql -u root -p < +#+END_EXAMPLE * Run the application The application can now be run from the =build/code/runtime/rest/= directory #+BEGIN_EXAMPLE - cd build/code/runtime/rest/ - unset http_proxy - unset https_proxy + cd build/code/ + export PYTHONPATH=$(pwd) + cd runtime/rest/ python app.py #+END_EXAMPLE - * Access the application + The application is accessed at =http://localhost:5000= - The application is accessed at =http://localhost:1307= - - * API Documentation URL : [[https://github.com/vlead/lab-data-service/blob/master/src/runtime/rest/api.org][REST APIS]] From 8fd4d00abd7fb0e7ed4d9f283e6a2fe1797f48f6 Mon Sep 17 00:00:00 2001 From: madhavi Date: Tue, 26 Dec 2017 17:15:24 +0530 Subject: [PATCH 077/105] add backup and restore scripts --- scripts/backup.sh | 7 ++++--- scripts/restore.sh | 17 ++++------------- 2 files changed, 8 insertions(+), 16 deletions(-) diff --git a/scripts/backup.sh b/scripts/backup.sh index 1c956ac..2bf575f 100755 --- a/scripts/backup.sh +++ b/scripts/backup.sh @@ -1,14 +1,14 @@ -#!/bin/bash +#!/bin/bash DB_NAME="lds" DB_PASS="root" OUT_FILE_NAME="ldsbackup" -VERSION="v2.1.0" +VERSION="v3.0.0" OUT_FILE="$OUT_FILE_NAME-$VERSION.tar" -# take the dump +# take the dump mysqldump -u root -p$DB_PASS $DB_NAME > $DB_NAME.sql if [ $? -ne 0 ]; then echo "Error: Something went wrong while taking db dump." @@ -21,3 +21,4 @@ tar -cvf $OUT_FILE $DB_NAME.sql echo "Backup successful." exit 0; + diff --git a/scripts/restore.sh b/scripts/restore.sh index 67484cf..dba838e 100755 --- a/scripts/restore.sh +++ b/scripts/restore.sh @@ -1,8 +1,8 @@ -#!/bin/bash +bin/bash DB_NAME="lds" -DB_PASS="xxx" -VERSION="v1.0.0" +DB_PASS="root" +VERSION="v3.0.0" MIGRATION_SCRIPT_PATH="../build/code/deployment" BACKUP_FILE=$1 @@ -18,7 +18,7 @@ if [ -z $BACKUP_FILE ]; then exit 1; fi -# untar the $BACKUP_FILE file +# untar the $BACKUP_FILE file tar -xvf $BACKUP_FILE if [ $? -ne 0 ]; then echo "Error: Something went wrong while untaring." @@ -43,13 +43,4 @@ echo "################" echo "Restore successful." echo "###############" -chmod +x $MIGRATION_SCRIPT_PATH"/migrate_phase.py" && python $MIGRATION_SCRIPT_PATH"/migrate_phase.py" -if [ $? -ne 0 ]; then - echo "Error: Something went wrong while restoring db dump." - echo "Aborting restore." - exit 1; -fi -echo "################" -echo "Migration successful." -echo "###############" From 7401ac444e371cb06d233825e74001e44f0242b6 Mon Sep 17 00:00:00 2001 From: madhavi Date: Tue, 26 Dec 2017 17:17:13 +0530 Subject: [PATCH 078/105] remove migration path in restore --- scripts/restore.sh | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/scripts/restore.sh b/scripts/restore.sh index dba838e..b071834 100755 --- a/scripts/restore.sh +++ b/scripts/restore.sh @@ -1,9 +1,8 @@ -bin/bash +#!/bin/bash DB_NAME="lds" DB_PASS="root" VERSION="v3.0.0" -MIGRATION_SCRIPT_PATH="../build/code/deployment" BACKUP_FILE=$1 usage() { From 6db04c1f8751c819506c2e1b0e12cf5a6ce3475d Mon Sep 17 00:00:00 2001 From: madhavi Date: Thu, 28 Dec 2017 13:18:46 +0530 Subject: [PATCH 079/105] remove str in SI --- src/runtime/persistence/entities.org | 4 +- src/runtime/system/system-interface.org | 127 +++++++++++++----------- 2 files changed, 72 insertions(+), 59 deletions(-) diff --git a/src/runtime/persistence/entities.org b/src/runtime/persistence/entities.org index 84d2d54..5992cfe 100755 --- a/src/runtime/persistence/entities.org +++ b/src/runtime/persistence/entities.org @@ -19,7 +19,7 @@ lab_experiments = db.Table('lab_experiments', db.Column('labid', db.Integer, db.ForeignKey('lab.id')), - db.Column('expid', db.Integer, + db.Column('expid', db.Integer, db.ForeignKey('experiment.id'))) lab_assets = db.Table('lab_assets', @@ -43,7 +43,7 @@ labs_phase = db.Table('labs_phase', lab_hosting_info = db.Table('lab_hosting_info', db.Column('labid', db.Integer, db.ForeignKey('lab.id')), - db.Column('hosting_infoid', db.Integer, + db.Column('hosting_infoid', db.Integer, unique=True, db.ForeignKey('hosting_info.id'))) labs_sections = db.Table('labs_sections', diff --git a/src/runtime/system/system-interface.org b/src/runtime/system/system-interface.org index a027175..28ff47b 100755 --- a/src/runtime/system/system-interface.org +++ b/src/runtime/system/system-interface.org @@ -5611,7 +5611,7 @@ class TestGetNameById(TestCase): asset_list.append(asset) if 'sections' not in data_dict['lab']: - section_obj_list = lab.get("sections") + section_list = lab.get("sections") else: section_list=[] for section in data_dict['lab']['sections']: @@ -6075,77 +6075,90 @@ class TestUpdateLab(TestCase): overview=data_dict['experiment']['overview'] if 'institute_id' not in data_dict['experiment']: - inst=str(experiment.get("institute")) + inst=experiment.get("institute") else: inst= System.do("get_institute", institute_id= data_dict['experiment']['institute_id']) if 'discipline_id' not in data_dict['experiment']: - disc=str(experiment.get("discipline")) + disc=experiment.get("discipline") else: disc= System.do("get_discipline", discipline_id= data_dict['experiment']['discipline_id']) if 'integration_level' not in data_dict['experiment']: - integration_status=str(experiment.get("integration_status")) + integration_status=experiment.get("integration_status") else: integration_status= System.do("get_integration_status_by_IL", integration_level= data_dict['experiment']['integration_level']) - hosting_info = data_dict['experiment']['hosting_info'] - hosting_info_list = [] - for hosting_info_x in hosting_info: - hosting_info = System.do("get_hosting_info", - hosted_url= - hosting_info_x['hosted_url']) - if hosting_info is None: - hosting_info = hosting_info_cls(hosting_status=\ - str(hosting_info_x\ - ['hosting_status']), \ - hosted_url=\ - str(hosting_info_x\ - ['hosted_url']), \ - hosted_on=\ - str(hosting_info_x\ - ['hosted_on'])) - hosting_info = System.do("add_hosting_info", \ - hosting_info=hosting_info, \ - session=session) - hosting_info_list.append(hosting_info) + if 'hosting_info' not in data_dict['experiment']: + hosting_info_list = experiment.get("hosting_info") + else: + hosting_info = data_dict['experiment']['hosting_info'] + hosting_info_list = [] + for hosting_info_x in hosting_info: + hosting_info = System.do("get_hosting_info", + hosted_url= + hosting_info_x['hosted_url']) + if hosting_info is None: + hosting_info = hosting_info_cls\ + (hosting_status=str(hosting_info_x['hosting_status']), \ + hosted_url=str(hosting_info_x['hosted_url']), \ + hosted_on=str(hosting_info_x['hosted_on'])) + hosting_info = System.do("add_hosting_info", + hosting_info=hosting_info, + session=session) + hosting_info_list.append(hosting_info) - assets = data_dict['experiment']['assets'] - asset_list = [] - for asset_x in assets: - asset = System.do("get_asset", path=asset_x['path']) - if asset is None: - asset_type = asset_type_cls(asset_type=\ - str(asset_x['asset_type'])) - asset = asset_cls(asset_type=asset_type, \ - path=str(asset_x['path'])) - asset = System.do("add_asset", asset=asset, session=session) - asset_list.append(asset) + if 'assets' not in data_dict['experiment']: + asset_list = experiment.get("assets") + else: + assets = data_dict['experiment']['assets'] + asset_list = [] + for asset_x in assets: + asset = System.do("get_asset", path=asset_x['path']) + if asset is None: + asset_type = asset_type_cls(asset_type=\ + str(asset_x['asset_type'])) + asset = asset_cls(asset_type=asset_type, \ + path=str(asset_x['path'])) + asset = System.do("add_asset", asset=asset, session=session) + asset_list.append(asset) - developers = data_dict['experiment']['developers'] - developer_list = [] - for developer_x in developers: - name = name_cls(name=developer_x['name']) - email = email_cls(email=developer_x['email']) - developer = System.do("get_developer", email=email) - if developer is None: - developer = developer_cls(name=name, email=email) - developer = System.do("add_developer", developer=developer, - session=session) - developer_list.append(developer) + if 'sections' not in data_dict['experiment']: + section_list = experiment.get("sections") + else: + section_list=[] + for section in data_dict['lab']['sections']: + if 'experiments' in section.keys(): + experiments = section['experiments'] + else: + section_list.append(section['name']) - sections = data_dict['experiment']['sections'] - section_list = [] - for section_x in sections: - section = System.do("get_section", name=section_x) - if section is None: - section = section_cls(name=str(section_x)) - section = System.do("add_section", section=section, session=session) - section_list.append(section) + section_obj_list=[] + for section_x in section_obj_list: + section = System.do("get_section", name=section_x['name']) + if section is None: + section = section_cls(name=str(section_x['name'])) + section = System.do("add_section", section=section, session=session) + section_obj_list.append(section) + + if 'developers' not in data_dict['experiment']: + developer_list = experiment.get("developers") + else: + developers = data_dict['experiment']['developers'] + developer_list = [] + for developer_x in developers: + name = name_cls(name=developer_x['name']) + email = email_cls(email=developer_x['email']) + developer = System.do("get_developer", email=email) + if developer is None: + developer = developer_cls(name=name, email=email) + developer = System.do("add_developer", developer=developer, + session=session) + developer_list.append(developer) try: current_app.logger.debug("running operation update_experiment") @@ -6726,7 +6739,7 @@ class TestUpdateDiscipline(TestCase): hosting_info = System.do("get_hosting_info", hosted_url=hosted_url) if 'hosting_status' not in data_dict: - hosting_status=str(hosting_info.get("hosting_status")) + hosting_status=hosting_info.get("hosting_status") else: hosting_status=data_dict['hosting_status'] @@ -6811,7 +6824,7 @@ class TestUpdateHosting_Info(TestCase): developer = System.do("get_developer", email=email) if 'name' not in data_dict: - name=developer.get("name") + name=str(developer.get("name")) else: name=name_cls(name=str(data_dict['name'])) @@ -9029,7 +9042,7 @@ class TestAddAsset(TestCase): asset = System.do("get_asset", path=path) if 'asset_type' not in data_dict: - asset_type=str(asset.get("asset_type")) + asset_type=asset.get("asset_type") else: asset_type = asset_type_cls(asset_type=\ str(data_dict['asset_type'])) From f8aae502d547d6ef0f0cdb411c50f6b8d94d5aaa Mon Sep 17 00:00:00 2001 From: mrudhvika940 Date: Thu, 28 Dec 2017 16:23:52 +0530 Subject: [PATCH 080/105] updated the steps to setup vagrant machine --- .../run-lds-in-development-environment.org | 47 +++++++++++++++++++ 1 file changed, 47 insertions(+) diff --git a/src/deployment/run-lds-in-development-environment.org b/src/deployment/run-lds-in-development-environment.org index 6b492fa..b89bb8d 100755 --- a/src/deployment/run-lds-in-development-environment.org +++ b/src/deployment/run-lds-in-development-environment.org @@ -6,6 +6,53 @@ #+SETUPFILE: ./org-templates/level-0.org #+options: ^:nil +* Setup for Vagrantbox + Following are the steps to setup a Vagrant machine. + + 1. Download the vagrant box running vlead-dev version [[http://files.vlabs.ac.in/downloads/vagrant-boxes/vlead-dev.box][link]] + 2. Add the box to vagrant + #+BEGIN_EXAMPLE + vagrant box add vlead-dev vlead-dev.box + #+END_EXAMPLE + 3. Create a directory =test-lab-data-service= and run "vagrant init" + #+BEGIN_EXAMPLE + mkdir test-lab-data-service + cd test-lab-data-service + vagrant init vlead-dev + #+END_EXAMPLE + 4. Above step(3) generates =Vagrantfile= + 5. Edit the =Vagrantfile= using editor (like e.g emacs, + vim, etc.) and uncomment below line by removing =#= in + the beginning of the line to set the vagrant to use + private network (e.g 192.168.33.22) + #+BEGIN_EXAMPLE + #config.vm.network "private_network", ip: "192.168.33.10" + config.vm.network "private_network", ip: "192.168.33.22" + #+END_EXAMPLE + 6. Boot the machine + #+BEGIN_EXAMPLE + vagrant up + #+END_EXAMPLE + 7. Login in to the machine as root. Sometimes, login will + succeed after a few tries. + #+BEGIN_EXAMPLE + vagrant ssh + #+END_EXAMPLE + 8. To know the ip address of the vagrant box type the following + in the terminal + #+BEGIN_EXAMPLE + ifconfig + #+END_EXAMPLE + 9. Access the =lms= of Vagrant machine + #+BEGIN_EXAMPLE + firefox + #+END_EXAMPLE + 10. Export =http_proxy= and =https_proxy= variables if your + network behind the =http_proxy= + #+BEGIN_EXAMPLE + export http_proxy="http://proxy.iiit.ac.in:8080" + export https_proxy="http://proxy.iiit.ac.in:8080" + #+END_EXAMPLE * Creation of Virtual Environment 1. clone =lab-data-service= from github From 3791391fc9d80a463d1515ce74edc46b34f60048 Mon Sep 17 00:00:00 2001 From: madhavi Date: Thu, 28 Dec 2017 17:21:54 +0530 Subject: [PATCH 081/105] update development environment --- .../run-lds-in-development-environment.org | 48 ------------------- src/runtime/persistence/entities.org | 2 +- 2 files changed, 1 insertion(+), 49 deletions(-) diff --git a/src/deployment/run-lds-in-development-environment.org b/src/deployment/run-lds-in-development-environment.org index b89bb8d..e785afb 100755 --- a/src/deployment/run-lds-in-development-environment.org +++ b/src/deployment/run-lds-in-development-environment.org @@ -6,54 +6,6 @@ #+SETUPFILE: ./org-templates/level-0.org #+options: ^:nil -* Setup for Vagrantbox - Following are the steps to setup a Vagrant machine. - - 1. Download the vagrant box running vlead-dev version [[http://files.vlabs.ac.in/downloads/vagrant-boxes/vlead-dev.box][link]] - 2. Add the box to vagrant - #+BEGIN_EXAMPLE - vagrant box add vlead-dev vlead-dev.box - #+END_EXAMPLE - 3. Create a directory =test-lab-data-service= and run "vagrant init" - #+BEGIN_EXAMPLE - mkdir test-lab-data-service - cd test-lab-data-service - vagrant init vlead-dev - #+END_EXAMPLE - 4. Above step(3) generates =Vagrantfile= - 5. Edit the =Vagrantfile= using editor (like e.g emacs, - vim, etc.) and uncomment below line by removing =#= in - the beginning of the line to set the vagrant to use - private network (e.g 192.168.33.22) - #+BEGIN_EXAMPLE - #config.vm.network "private_network", ip: "192.168.33.10" - config.vm.network "private_network", ip: "192.168.33.22" - #+END_EXAMPLE - 6. Boot the machine - #+BEGIN_EXAMPLE - vagrant up - #+END_EXAMPLE - 7. Login in to the machine as root. Sometimes, login will - succeed after a few tries. - #+BEGIN_EXAMPLE - vagrant ssh - #+END_EXAMPLE - 8. To know the ip address of the vagrant box type the following - in the terminal - #+BEGIN_EXAMPLE - ifconfig - #+END_EXAMPLE - 9. Access the =lms= of Vagrant machine - #+BEGIN_EXAMPLE - firefox - #+END_EXAMPLE - 10. Export =http_proxy= and =https_proxy= variables if your - network behind the =http_proxy= - #+BEGIN_EXAMPLE - export http_proxy="http://proxy.iiit.ac.in:8080" - export https_proxy="http://proxy.iiit.ac.in:8080" - #+END_EXAMPLE - * Creation of Virtual Environment 1. clone =lab-data-service= from github #+BEGIN_EXAMPLE diff --git a/src/runtime/persistence/entities.org b/src/runtime/persistence/entities.org index 5992cfe..5bac381 100755 --- a/src/runtime/persistence/entities.org +++ b/src/runtime/persistence/entities.org @@ -43,7 +43,7 @@ labs_phase = db.Table('labs_phase', lab_hosting_info = db.Table('lab_hosting_info', db.Column('labid', db.Integer, db.ForeignKey('lab.id')), - db.Column('hosting_infoid', db.Integer, unique=True, + db.Column('hosting_infoid', db.Integer, db.ForeignKey('hosting_info.id'))) labs_sections = db.Table('labs_sections', From 946379d64c6b42c1ee8ccc9c8a5e4a532340ff1e Mon Sep 17 00:00:00 2001 From: madhavi Date: Thu, 28 Dec 2017 17:26:07 +0530 Subject: [PATCH 082/105] add installing mysql and apache to the development environment --- src/deployment/run-lds-in-development-environment.org | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/src/deployment/run-lds-in-development-environment.org b/src/deployment/run-lds-in-development-environment.org index e785afb..51ca762 100755 --- a/src/deployment/run-lds-in-development-environment.org +++ b/src/deployment/run-lds-in-development-environment.org @@ -35,7 +35,15 @@ *Note*: Test cases will fail at this point because there are no dependencies installed. Proceed to next step to install dependencies. - 2. Install all the dependencies for running the =lds= applciation. + + 2. Install =mysql= and =apache2= if not already installed + on your machine otherwise skip this step. + #+BEGIN_EXAMPLE + sudo apt-get install mysql-server + sudo apt-get install apache2 + #+END_EXAMPLE + + 3. Install all the dependencies for running the =lds= applciation. run the =setup.py= file, available at =build/code/deployment/=. #+BEGIN_EXAMPLE cd build/code/deployment/ From 33d93a82181d58d7fe5a63780e7b16703ec6fb48 Mon Sep 17 00:00:00 2001 From: mrudhvika940 Date: Thu, 28 Dec 2017 17:59:26 +0530 Subject: [PATCH 083/105] updated realisation plan --- src/realization-plan/index.org | 100 ++++++++++++++++++++++++--------- 1 file changed, 75 insertions(+), 25 deletions(-) diff --git a/src/realization-plan/index.org b/src/realization-plan/index.org index 931d1ad..27b3e43 100644 --- a/src/realization-plan/index.org +++ b/src/realization-plan/index.org @@ -13,31 +13,33 @@ realized as series of [[https://github.com/vlead/lab-data-service/milestones?state=closed][milestones]]. * Milestones Snapshot - |---+----+----+-----+---------------------------------+------+--------+-----------+----------+--------| - | | S. | Mi | Req | Milestone | Plan | Status | Est | Act | Issues | - | | no | no | Map | | | | hrs | hrs | | - |---+----+----+-----+---------------------------------+------+--------+-----------+----------+--------| - | | 1 | [[https://github.com/vlead/lab-data-service/milestone/6][6]] | | [[https://github.com/vlead/lab-data-service/milestone/6][LDS to work with nosql]] | | Open | | | [[https://github.com/vlead/lab-data-service/milestones/Migrating%2520LDS%2520service%2520backend%2520from%2520mysql%2520to%2520nosql%2520(monodb)][ref]] | - |---+----+----+-----+---------------------------------+------+--------+-----------+----------+--------| - | | 2 | [[https://github.com/vlead/lab-data-service/milestone/9][9]] | | [[https://github.com/vlead/lab-data-service/milestone/9][Pagination]] | | Closed | | | [[https://github.com/vlead/lab-data-service/milestone/9?closed=1][ref]] | - |---+----+----+-----+---------------------------------+------+--------+-----------+----------+--------| - | | 3 | [[https://github.com/vlead/lab-data-service/milestone/8][8]] | | [[https://github.com/vlead/lab-data-service/milestone/8][Update missing labs]] | [[Add information for missing labs][ref]] | Closed | 152 | 96 | [[https://github.com/vlead/lab-data-service/issues?q=is%253Aclosed+milestone%253A%2522Updating+LDS+with+177+Labs+data+and+adding+new+Features%252FEnhancements++%2522][ref]] | - |---+----+----+-----+---------------------------------+------+--------+-----------+----------+--------| - | | 4 | [[https://github.com/vlead/lab-data-service/milestone/7][7]] | | [[https://github.com/vlead/lab-data-service/milestone/7][Bug fix release]] | | Closed | | | [[https://github.com/vlead/lab-data-service/issues?q=is%253Aclosed+milestone%253A%2522Bug+fix+release%2522][ref]] | - |---+----+----+-----+---------------------------------+------+--------+-----------+----------+--------| - | | 5 | [[https://github.com/vlead/lab-data-service/milestone/5][5]] | | [[https://github.com/vlead/lab-data-service/milestone/5][New specification structure]] | | Closed | | | [[https://github.com/vlead/lab-data-service/issues?q=is%253Aclosed+milestone%253A%2522Enhancements+in+the+LDS+according+to+the+new+lab+specification+structure+-+Release+version+V1.1.0%2522][ref]] | - |---+----+----+-----+---------------------------------+------+--------+-----------+----------+--------| - | | 6 | [[https://github.com/vlead/lab-data-service/milestone/4][4]] | | [[https://github.com/vlead/lab-data-service/milestone/4][Address Review Comments]] | | Closed | | | [[https://github.com/vlead/lab-data-service/issues?q=is%253Aclosed+milestone%253A%2522Complete+funtionality+of+Lab+Data+Service+with+the+fixing+of+review+comments%2522][ref]] | - |---+----+----+-----+---------------------------------+------+--------+-----------+----------+--------| - | | 7 | [[https://github.com/vlead/lab-data-service/milestone/3][3]] | | [[https://github.com/vlead/lab-data-service/milestone/3][Realize for experiment entity]] | | Closed | | | [[https://github.com/vlead/lab-data-service/issues?q=is%253Aclosed+milestone%253A%2522Next+release+of+Lab+Data+Service+with+experiments+integrated%2522][ref]] | - |---+----+----+-----+---------------------------------+------+--------+-----------+----------+--------| - | | 8 | [[https://github.com/vlead/lab-data-service/milestone/2][2]] | | [[https://github.com/vlead/lab-data-service/milestone/2][Capture details of missing labs]] | | Closed | | | [[https://github.com/vlead/lab-data-service/issues?q=is%253Aclosed+milestone%253A%2522Creation+of+Lab-specifications+for+all+the+labs%2522][ref]] | - |---+----+----+-----+---------------------------------+------+--------+-----------+----------+--------| - | | 9 | [[https://github.com/vlead/lab-data-service/milestone/1][1]] | | [[https://github.com/vlead/lab-data-service/milestone/1][Create the data model]] | | Closed | | | [[https://github.com/vlead/lab-data-service/issues?q=is%253Aclosed+milestone%253A%2522Lab+data+service+should+able+to+provide+the+search+by+lab+name%252C+institute+and+disciplines%2522][ref]] | - |---+----+----+-----+---------------------------------+------+--------+-----------+----------+--------| - | | | | | Total | | | 152 + m8e | 96 + m8a | | - | ^ | | | | | | | et | at | | - |---+----+----+-----+---------------------------------+------+--------+-----------+----------+--------| + |---+----+----+-----+--------------------------------------------+------+--------+-----------+----------+--------| + | | S. | Mi | Req | Milestone | Plan | Status | Est | Act | Issues | + | | no | no | Map | | | | hrs | hrs | | + |---+----+----+-----+--------------------------------------------+------+--------+-----------+----------+--------| + | | 1 | [[https://github.com/vlead/lab-data-service/milestone/6][6]] | | [[https://github.com/vlead/lab-data-service/milestone/6][LDS to work with nosql]] | | Open | | | [[https://github.com/vlead/lab-data-service/milestones/Migrating%2520LDS%2520service%2520backend%2520from%2520mysql%2520to%2520nosql%2520(monodb)][ref]] | + |---+----+----+-----+--------------------------------------------+------+--------+-----------+----------+--------| + | | 2 | [[https://github.com/vlead/lab-data-service/milestone/9][9]] | | [[https://github.com/vlead/lab-data-service/milestone/9][Pagination]] | | Closed | | | [[https://github.com/vlead/lab-data-service/milestone/9?closed=1][ref]] | + |---+----+----+-----+--------------------------------------------+------+--------+-----------+----------+--------| + | | 3 | [[https://github.com/vlead/lab-data-service/milestone/8][8]] | | [[https://github.com/vlead/lab-data-service/milestone/8][Update missing labs]] | [[Add information for missing labs][ref]] | Closed | 152 | 96 | [[https://github.com/vlead/lab-data-service/issues?q=is%253Aclosed+milestone%253A%2522Updating+LDS+with+177+Labs+data+and+adding+new+Features%252FEnhancements++%2522][ref]] | + |---+----+----+-----+--------------------------------------------+------+--------+-----------+----------+--------| + | | 4 | [[https://github.com/vlead/lab-data-service/milestone/7][7]] | | [[https://github.com/vlead/lab-data-service/milestone/7][Bug fix release]] | | Closed | | | [[https://github.com/vlead/lab-data-service/issues?q=is%253Aclosed+milestone%253A%2522Bug+fix+release%2522][ref]] | + |---+----+----+-----+--------------------------------------------+------+--------+-----------+----------+--------| + | | 5 | [[https://github.com/vlead/lab-data-service/milestone/5][5]] | | [[https://github.com/vlead/lab-data-service/milestone/5][New specification structure]] | | Closed | | | [[https://github.com/vlead/lab-data-service/issues?q=is%253Aclosed+milestone%253A%2522Enhancements+in+the+LDS+according+to+the+new+lab+specification+structure+-+Release+version+V1.1.0%2522][ref]] | + |---+----+----+-----+--------------------------------------------+------+--------+-----------+----------+--------| + | | 6 | [[https://github.com/vlead/lab-data-service/milestone/4][4]] | | [[https://github.com/vlead/lab-data-service/milestone/4][Address Review Comments]] | | Closed | | | [[https://github.com/vlead/lab-data-service/issues?q=is%253Aclosed+milestone%253A%2522Complete+funtionality+of+Lab+Data+Service+with+the+fixing+of+review+comments%2522][ref]] | + |---+----+----+-----+--------------------------------------------+------+--------+-----------+----------+--------| + | | 7 | [[https://github.com/vlead/lab-data-service/milestone/3][3]] | | [[https://github.com/vlead/lab-data-service/milestone/3][Realize for experiment entity]] | | Closed | | | [[https://github.com/vlead/lab-data-service/issues?q=is%253Aclosed+milestone%253A%2522Next+release+of+Lab+Data+Service+with+experiments+integrated%2522][ref]] | + |---+----+----+-----+--------------------------------------------+------+--------+-----------+----------+--------| + | | 8 | [[https://github.com/vlead/lab-data-service/milestone/2][2]] | | [[https://github.com/vlead/lab-data-service/milestone/2][Capture details of missing labs]] | | Closed | | | [[https://github.com/vlead/lab-data-service/issues?q=is%253Aclosed+milestone%253A%2522Creation+of+Lab-specifications+for+all+the+labs%2522][ref]] | + |---+----+----+-----+--------------------------------------------+------+--------+-----------+----------+--------| + | | 9 | [[https://github.com/vlead/lab-data-service/milestone/1][1]] | | [[https://github.com/vlead/lab-data-service/milestone/1][Create the data model]] | | Closed | | | [[https://github.com/vlead/lab-data-service/issues?q=is%253Aclosed+milestone%253A%2522Lab+data+service+should+able+to+provide+the+search+by+lab+name%252C+institute+and+disciplines%2522][ref]] | + |---+----+----+-----+--------------------------------------------+------+--------+-----------+----------+--------| + | | 10 | [[https://github.com/vlead/lab-data-service/milestone/11][11]] | | [[https://github.com/vlead/lab-data-service/milestone/11][Release & Deployment of LDS Version v3.2.0]] | | Open | | | | + |---+----+----+-----+--------------------------------------------+------+--------+-----------+----------+--------| + | | | | | Total | | | 152 + m8e | 96 + m8a | | + | ^ | | | | | | | et | at | | + |---+----+----+-----+--------------------------------------------+------+--------+-----------+----------+--------| #+TBLFM: $2=@#-2 #+TBLFM: @5$8=remote(tbl-rlz-pln-ml-8, $estimated) #+TBLFM: @5$9=remote(tbl-rlz-pln-ml-8, $actual) @@ -86,3 +88,51 @@ |---+----+--------------------------+--------+-----------+--------+------------+------------+--------+-----------| #+TBLFM: $estimated=vsum(@II+1..@-1) #+TBLFM: $actual=vsum(@II+1..@-1) +** Release and Deployment of LDS Version v3.2.0 + This [[https://github.com/vlead/lab-data-service/milestone/8][milestone]] includes the following features: + 1. Updating LDS with 178 Labs data + 2. Features/Enhancements: + 1. Add 'Phase' table to the current Schema. + 2. Implementation of 'Migration' Script. + 3. Implementation of 'Backup' and 'Restore' Scripts. + + #+caption: realization-plan-ml-11 + #+name: tbl-rlz-pln-ml-11 + |---+----+-------------------------+--------+-----------+--------+------------+------------+---------+------------| + | | S. | Tasks | Github | Expected | Actual | Estimated | Actual | Status | Assignee | + | | NO | | Issues | Effort | Effort | Start, | Start/ | | | + | | | | | (in | (in | End | End | | | + | | | | | person | person | Dates | Dates | | | + | | | | | hours) | hours) | | | | | + |---+----+-------------------------+--------+-----------+--------+------------+------------+---------+------------| + | | 1 | Deploy and Release LDS | [[https://github.com/vlead/lab-data-service/issues/106][106]] | 40 | 34 | 26-12-2017 | 26-12-2017 | Done | Madhavi | + | | | Alpha version on base4 | | | | 29-12-2017 | 28-12-2017 | | | + |---+----+-------------------------+--------+-----------+--------+------------+------------+---------+------------| + | | 2 | Update Backup and | [[https://github.com/vlead/lab-data-service/issues/110][110]] | 8 | 2 | 28-12-2017 | 28-12-2017 | Done | Madhavi | + | | | Restore Scripts for | | | | 28-12-2017 | 28-12-2017 | | | + | | | version | | | | | | | | + |---+----+-------------------------+--------+-----------+--------+------------+------------+---------+------------| + | | 3 | Update Document to | [[https://github.com/vlead/lab-data-service/issues/111][111]] | 8 | 2 | 28-12-2017 | 28-12-2017 | Done | Madhavi | + | | | setup LDS on | | | | 28-12-2017 | 28-12-2017 | | | + | | | Development | | | | | | | | + | | | Environment | | | | | | | | + |---+----+-------------------------+--------+-----------+--------+------------+------------+---------+------------| + | | 4 | Dump latest lds | [[https://github.com/vlead/lab-data-service/issues/112][112]] | 0.5 | 0.5 | 28-12-2017 | 28-12-2017 | Done | Raghupathi | + | | | database on file | | | | 28-12-2017 | 28-12-2017 | | | + | | | server for version | | | | | | | | + | | | v3.2.0 | | | | | | | | + |---+----+-------------------------+--------+-----------+--------+------------+------------+---------+------------| + | | 5 | Testing the setup of | [[https://github.com/vlead/lab-data-service/issues/109][109]] | 10 | 6 | 28-12-2017 | 28-12-2017 | Done | Sanchita | + | | | Lab Data Service with | | | | 28-12-2017 | 28-12-2017 | | | + | | | Development Environment | | | | | | | | + |---+----+-------------------------+--------+-----------+--------+------------+------------+---------+------------| + | | 6 | populate lab phase data | [[https://github.com/vlead/lab-data-service/issues/107][107]] | 12 | | 29-12-2017 | | Backlog | | + | | | | | | | 01-01-2018 | | | | + |---+----+-------------------------+--------+-----------+--------+------------+------------+---------+------------| + | | | Total | | 78.5 | 44.5 | | | | | + | ^ | | | | estimated | actual | | | | | + |---+----+-------------------------+--------+-----------+--------+------------+------------+---------+------------| + #+TBLFM: @5$8=remote(tbl-rlz-pln-ml-11, $estimated) + #+TBLFM: @5$9=remote(tbl-rlz-pln-ml-11, $actual) + #+TBLFM: $estimated=vsum(@II+1..@-1) + #+TBLFM: $actual=vsum(@II+1..@-1) From 1fec381da6dd94d97dcbbe2673f35f660dde4a87 Mon Sep 17 00:00:00 2001 From: mrudhvika940 Date: Thu, 28 Dec 2017 18:05:35 +0530 Subject: [PATCH 084/105] updated realisation plan --- src/realization-plan/index.org | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/realization-plan/index.org b/src/realization-plan/index.org index 27b3e43..78e173a 100644 --- a/src/realization-plan/index.org +++ b/src/realization-plan/index.org @@ -35,12 +35,14 @@ |---+----+----+-----+--------------------------------------------+------+--------+-----------+----------+--------| | | 9 | [[https://github.com/vlead/lab-data-service/milestone/1][1]] | | [[https://github.com/vlead/lab-data-service/milestone/1][Create the data model]] | | Closed | | | [[https://github.com/vlead/lab-data-service/issues?q=is%253Aclosed+milestone%253A%2522Lab+data+service+should+able+to+provide+the+search+by+lab+name%252C+institute+and+disciplines%2522][ref]] | |---+----+----+-----+--------------------------------------------+------+--------+-----------+----------+--------| - | | 10 | [[https://github.com/vlead/lab-data-service/milestone/11][11]] | | [[https://github.com/vlead/lab-data-service/milestone/11][Release & Deployment of LDS Version v3.2.0]] | | Open | | | | + | | 10 | [[https://github.com/vlead/lab-data-service/milestone/11][11]] | | [[https://github.com/vlead/lab-data-service/milestone/11][Release & Deployment of LDS Version v3.2.0]] | [[Release and Deployment of LDS Version v3.2.0][ref]] | Open | 78.5 | 44.5 | [[https://github.com/vlead/lab-data-service/milestone/11?closed=1][ref]] | |---+----+----+-----+--------------------------------------------+------+--------+-----------+----------+--------| | | | | | Total | | | 152 + m8e | 96 + m8a | | | ^ | | | | | | | et | at | | |---+----+----+-----+--------------------------------------------+------+--------+-----------+----------+--------| #+TBLFM: $2=@#-2 + #+TBLFM: @12$8=remote(tbl-rlz-pln-ml-11, $estimated) + #+TBLFM: @12$9=remote(tbl-rlz-pln-ml-11, $actual) #+TBLFM: @5$8=remote(tbl-rlz-pln-ml-8, $estimated) #+TBLFM: @5$9=remote(tbl-rlz-pln-ml-8, $actual) #+TBLFM: $et=vsum(@II+1..@-1) From 8028105f018bf5096f4bb4c3e6600a7dc5b20c37 Mon Sep 17 00:00:00 2001 From: mrudhvika940 Date: Fri, 29 Dec 2017 11:53:31 +0530 Subject: [PATCH 085/105] updated realisation plan with updating hosted urls issue --- src/realization-plan/index.org | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/realization-plan/index.org b/src/realization-plan/index.org index 78e173a..5274c1a 100644 --- a/src/realization-plan/index.org +++ b/src/realization-plan/index.org @@ -128,10 +128,14 @@ | | | Lab Data Service with | | | | 28-12-2017 | 28-12-2017 | | | | | | Development Environment | | | | | | | | |---+----+-------------------------+--------+-----------+--------+------------+------------+---------+------------| - | | 6 | populate lab phase data | [[https://github.com/vlead/lab-data-service/issues/107][107]] | 12 | | 29-12-2017 | | Backlog | | + | | 6 | populate lab phase data | [[https://github.com/vlead/lab-data-service/issues/107][107]] | 12 | | 29-12-2017 | | Backlog | Madhavi | | | | | | | | 01-01-2018 | | | | |---+----+-------------------------+--------+-----------+--------+------------+------------+---------+------------| - | | | Total | | 78.5 | 44.5 | | | | | + | | 7 | Updating hosted-urls | [[https://github.com/vlead/lab-data-service/issues/113][113]] | 40 | 36 | 27-12-2017 | 27-12-2017 | Done | Madhavi | + | | | in the database | | | | 28-12-2017 | 28-12-2017 | | Sanchita | + | | | | | | | | | | Mrudhvika | + |---+----+-------------------------+--------+-----------+--------+------------+------------+---------+------------| + | | | Total | | 118.5 | 80.5 | | | | | | ^ | | | | estimated | actual | | | | | |---+----+-------------------------+--------+-----------+--------+------------+------------+---------+------------| #+TBLFM: @5$8=remote(tbl-rlz-pln-ml-11, $estimated) From 8edc36d698165ac50adbc95dc73dc96b8f2294e5 Mon Sep 17 00:00:00 2001 From: madhavi Date: Fri, 29 Dec 2017 12:03:14 +0530 Subject: [PATCH 086/105] add script to update phase information --- src/deployment/index.org | 49 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 49 insertions(+) diff --git a/src/deployment/index.org b/src/deployment/index.org index 5219cc3..ba695e8 100755 --- a/src/deployment/index.org +++ b/src/deployment/index.org @@ -612,7 +612,56 @@ exit 0 #+END_SRC +* Program to update Phase information of all Labs which are on Phase II + Phase II information of labs are updated from the google + spread sheet: [[link][https://docs.google.com/spreadsheets/d/1m9nZzl_ehYNaTwX-92DI0GsgSkXRNPK2-Ay26fUmvWc/edit#gid=1217243506]] +** Steps: + 1. Update the =lds_url= with =lds_server= domain + name/ip_address in the following script available at + =build/code/deployment/update_phase.py= file. + #+BEGIN_EXAMPLE + cd build/code/deployment + emacs update_phase.py + lds_url = "http://192.168.33.3" + (or) + lds_url="http://lds-alpha.base4.vlabs.ac.in" + #+END_EXAMPLE + + 2. Run the =update_phase.py= script to update the phase 2 + information of all labs using the following command. + #+BEGIN_EXAMPLE + cd build/code/deployment + python update_phase.py + #+END_EXAMPLE + +** Implementation +#+BEGIN_SRC python :tangle update_phase.py :eval no +import requests +import json + +lds_url = "http://192.168.33.3" +headers = {'Content-Type': 'application/json'} +labs = ["mech26","eee06","chs12","phy12"] +data = { + "lab": { + "phase": [ + { + "phase_id": 2 + } + ] + }, + "key": "defaultkey" +} + +for lab in labs: + url = lds_url + "/labs?lab_id=" + lab + response = requests.put(url, data=json.dumps(data), + headers=headers) + print response.status_code + if response.status_code != 200: + print lab +#+END_SRC * Tangle :boilerplate: #+BEGIN_SRC python :eval no :tangle __init__.py print "deployment package" From 7a5b823e3c06ad63e4da268f1b7d61db565c06c2 Mon Sep 17 00:00:00 2001 From: madhavi Date: Fri, 29 Dec 2017 16:00:16 +0530 Subject: [PATCH 087/105] added all phase2 labs list --- src/deployment/index.org | 79 ++++++++++++++++++++-------------------- 1 file changed, 39 insertions(+), 40 deletions(-) diff --git a/src/deployment/index.org b/src/deployment/index.org index ba695e8..1a4149a 100755 --- a/src/deployment/index.org +++ b/src/deployment/index.org @@ -215,48 +215,47 @@ post_lab_spec(lab_file_list[0]) * Program to add 'asset_type' entity ** Migration Steps -1) create database lds_old -2) restoring the dump -#+BEGIN_SRC -mysql -u root -p lds_old < lds.sql -#+END_SRC -3) create the schema -#+BEGIN_SRC -create table asset_type(id int(11) auto_increment, asset_type varchar(255) unique, primary key(id)); -select distinct asset_type from asset; -insert into asset_type (asset_type) values("image"); -insert into asset_type (asset_type) values("sources"); -insert into asset_type (asset_type) values("videos"); -rename table asset to assetold; -create table asset(id int(11) auto_increment, path varchar(255) unique, asset_type_id int, primary key(id), foreign key (asset_type_id) references asset_type(id)); -FOREIGN KEY (PersonID) REFERENCES Persons(PersonID) -alter table experiment drop column lb_id; -#+END_SRC -4) update config file with lds_old database -#+BEGIN_SRC -SQLALCHEMY_DATABASE_URI = 'mysql+oursql://root:root@localhost/lds_old' -#+END_SRC -5) run the app -#+BEGIN_SRC -cd build/code/runtime/rest -python app.py -#+END_SRC -6) run the migration script -#+BEGIN_SRC -cd build/code/deployment -python migration.py -#+END_SRC -7) drop table asset_old -#+BEGIN_SRC -drop table asset_old -#+END_SRC -8) backup the new mysql dump -#+BEGIN_SRC -mysqldump -u root -proot lds_old > lds.sql -#+END_SRC + 1. create database lds_old + 2. restoring the dump + #+BEGIN_SRC + mysql -u root -p lds_old < lds.sql + #+END_SRC + 3. create the schema + #+BEGIN_SRC + create table asset_type(id int(11) auto_increment, asset_type varchar(255) unique, primary key(id)); + select distinct asset_type from asset; + insert into asset_type (asset_type) values("image"); + insert into asset_type (asset_type) values("sources"); + insert into asset_type (asset_type) values("videos"); + rename table asset to assetold; + create table asset(id int(11) auto_increment, path varchar(255) unique, asset_type_id int, primary key(id), foreign key (asset_type_id) references asset_type(id)); + FOREIGN KEY (PersonID) REFERENCES Persons(PersonID) + alter table experiment drop column lb_id; + #+END_SRC + 4. update config file with lds_old database + #+BEGIN_SRC + SQLALCHEMY_DATABASE_URI = 'mysql+oursql://root:root@localhost/lds_old' + #+END_SRC + 5. run the app + #+BEGIN_SRC + cd build/code/runtime/rest + python app.py + #+END_SRC + 6. run the migration script + #+BEGIN_SRC + cd build/code/deployment + python migration.py + #+END_SRC + 7. drop table asset_old + #+BEGIN_SRC + drop table asset_old + #+END_SRC + 8. backup the new mysql dump + #+BEGIN_SRC + mysqldump -u root -proot lds_old > lds.sql + #+END_SRC ** Migration Script #+BEGIN_SRC python :tangle migrate.py :eval no - #!/usr/bin/python import MySQLdb import sys From 25a726d1a28927879851bdf0449bba31e538114c Mon Sep 17 00:00:00 2001 From: madhavi Date: Fri, 29 Dec 2017 16:49:00 +0530 Subject: [PATCH 088/105] updated labs list in phase 2 labs script --- src/deployment/index.org | 28 +- src/runtime/rest/api.org | 330 +----------- src/runtime/system/persistence-delegate.org | 88 +++ src/runtime/system/system-interface.org | 562 +------------------- src/runtime/system/system.org | 24 - 5 files changed, 118 insertions(+), 914 deletions(-) diff --git a/src/deployment/index.org b/src/deployment/index.org index 1a4149a..f623503 100755 --- a/src/deployment/index.org +++ b/src/deployment/index.org @@ -640,7 +640,33 @@ import json lds_url = "http://192.168.33.3" headers = {'Content-Type': 'application/json'} -labs = ["mech26","eee06","chs12","phy12"] + +labs = ["biotech01", "phy-sc23", "biotech22", "phy-sc28", + "phy-sc22", "phy-sc27", "phy-sc24", "biotech18", + "biotech17", "phy-sc10", "phy-sc13", "biotech22", + "biotech14", "mbvii-au", "biotech13", "aacv-au", + "icv-au", "ocv-au", "pcv-au", "ov-au", "cse12", + "bio16", "ece19", "eee05", "eee09", "eee10", + "eee12", "mech04", "mech17", "mech18", "mech26", + "eee06", "chs12", "phy12", "ai-dei", "ece26", + "civil09", "chem-engg04", "ece40", "chem01", + "biotech25", "civil13", "mddl", "civil11", + "aero04", "ee32", "ece04", "ece21", "bio15", + "civil16", "ece08", "eee07", "chs13", "mech08", + "mech48", "hss02", "hss03", "ece10", "eee01", + "eee02", "me01", "me02", "ce01", "eee05", + "cse23", "cse15", "cse19", "cse18", "ccnsb07", + "cse29", "cse22", "cse14", "eerc01", "eerc03", + "cse24", "eerc04", "cse02", "cse01", "cse11", + "cse20", "ccnsb01", "ccnsb06", "cse03", "cse04", + "VLS01", "VLS02", "VLS03", "VLS04", "VLS05", + "VLS06", "VLS07", "VLS08", "VLS09", "VLS10", + "VLS11", "VLS12", "VLS13", "VLS14", "VLS15", + "VLS16", "VLS17", "VLS18", "VLS19", "VLS20", + "biotech26", "eee23", "eee24", "civil15", + "chem05", "civil07", "ee30", "eee08", + "mech21", "mech05"] + data = { "lab": { "phase": [ diff --git a/src/runtime/rest/api.org b/src/runtime/rest/api.org index fdb5754..ee4f3c6 100755 --- a/src/runtime/rest/api.org +++ b/src/runtime/rest/api.org @@ -16,7 +16,7 @@ * REST -** Get Labs, Get Lab, Get Labs by institute, lab_name, discipline and asset and Get labs by passing lab_name as keyword +** Get Labs, Get Lab, Get Labs by institute, lab_name, discipline and Get labs by passing lab_name as keyword *** API Designs **** Get all labs :PROPERTIES: @@ -691,79 +691,6 @@ http://localhost:5000/labs?discipline_name=Computer Science and Engineering http://localhost:5000/labs?lab_name=Data Structures #+END_EXAMPLE -**** Get labs by asset - :PROPERTIES: - :CUSTOM_ID: api_get_lab_by_lab_id - :END: - - URL :: /labs?asset_type= - - - Method :: GET - - - URL Params :: None - - - Payload :: None - - - Success Response - + Status_Code: 200 - + Contents : - -#+BEGIN_EXAMPLE -[ - { - "discipline": { - "discipline_id": "cse", - "id": 1, - "discipline_name": "Computer Science" - }, - "asset": { - "path": "vlabs.ac.in/images/static/logo.png", - "id": 1, - "asset_type": "Images" - }, - "lab_id": "cse09", - "institute": { - "institute_name": "IIIT Hyderabad", - "id": 1, - "institute_id": "iiith" - }, - "integration_status": { - "integration_level": 4, - "key": "" - }, - "overview": "overview", - "lab_name": "Data Structures", - "experiments": [ - { - "overview": "overview", - "exp_name": "arrays", - "sections": [ - { - "name": "Procedure", - "id": 2 - }, - { - "name": "Theory", - "id": 1 - } - ], - "id": 1, - "exp_id": "exp9" - } - ], - "id": 1 - } -] -#+END_EXAMPLE - - - - Error Response: - + Contents : - {"status" : "error"} - - - Example: -#+BEGIN_EXAMPLE -http://localhost:5000/labs?asset_type=image -#+END_EXAMPLE **** Get labs by lab_name keywords :PROPERTIES: :CUSTOM_ID: api_get_lab_by_lab_name_keyword @@ -1152,43 +1079,6 @@ def get_lab(): "msg": err_str} abort(500, msg) - elif 'asset_type' in request.args: - asset_type = request.args['asset_type'] - try: - current_app.logger.debug("running operation get_labs_by_asset") - labs = SystemInterface.get_labs_by_asset(asset_type) - current_app.logger.debug("completed operation get_labs_by_asset") - return jsonify_list(labs) - - except TypeError as e: - current_app.logger.error("Exception = %s" % str(e)) - err_str = str(e) - msg = {"status": "failure", - "msg": err_str } - abort(500, msg) - - except StateError as e: - current_app.logger.error("Exception = %s" % str(e)) - err_str = str(e) - msg = {"status": "failure", - "msg": err_str} - abort(500, msg) - - except NotFoundError as e: - current_app.logger.error("Exception = %s" % str(e)) - err_str = str(e) - msg = {"status": "failure", - "status code": 404, - "msg": err_str} - abort(404, msg) - - except Exception as e: - current_app.logger.error("Exception = %s" % str(e)) - err_str = str(e) - msg = {"status": "failure", - "msg": err_str} - abort(500, msg) - elif 'keyword_lab_name' in request.args: keyword = request.args['keyword_lab_name'] try: @@ -2343,222 +2233,6 @@ class TestGetLabsbyLabName(TestCase): #+END_SRC -**** TestGetLabsbyAsset -#+NAME: test_get_labs_by_asset -#+BEGIN_SRC python -class TestGetLabsbyAsset(TestCase): - TESTING = True - def create_app(self): - app = create_app(config) - return app - - def setUp(self): - app = self.create_app() - self.app_context = app.app_context() - self.app_context.push() - db.create_all() - - def tearDown(self): - self.app_context.pop() - db.session.remove() - db.drop_all() - - def test_get_labs_by_discipline(self): - print "test_get_labs_by_discipline_in_rest" - - payload = {'asset_type': 'Image', - 'path': 'vlabs.ac.in/images/static/logo.png', - 'key': KEY} - - headers = {'Content-Type': 'application/json'} - - response = self.client.post("/assets", data=json.dumps(payload), - headers=headers) - - - payload = {'institute_name': 'IIT Kanpur', - 'institute_id': 'IITK', - "assets": [ - { - "asset_type": "image", - "path": "vlabs.ac.in/images/static/logo.png" - } - ], - - 'key': KEY} - - headers = {'Content-Type': 'application/json'} - - response = self.client.post("/institutes", data=json.dumps(payload), - headers=headers) - - payload = {'integration_level': 4, - 'key': KEY} - - headers = {'Content-Type': 'application/json'} - - response = self.client.post("/integration_status", data=json.dumps(payload), - headers=headers - - payload = {'discipline_name': 'Computer Science', - 'discipline_id': 'CSE', - "assets": [ - { - "asset_type": "image", - "path": "vlabs.ac.in/images/static/logo.png" - } - ], - - 'key': KEY} - - headers = {'Content-Type': 'application/json'} - - response = self.client.post("/disciplines", data=json.dumps(payload), - headers=headers) - - payload = {'name': 'Prof. Dharamaja', - 'email': 'abc@gmail.com', - 'key': KEY} - - headers = {'Content-Type': 'application/json'} - - response = self.client.post("/developers", data=json.dumps(payload), - headers=headers) - - payload = {'hosting_status': 'hosted', - 'hosted_url': 'http://cse14-iiith.vlabs.ac.in', - 'hosted_on': 'cloud', - 'key': KEY} - - - response = self.client.post("/hosting_info", data=json.dumps(payload), - headers=headers) - - payload = { - "key": KEY, - "experiment": { - "id": "exp123", - "name": "arrays", - "discipline_id": "CSE", - "institute_id": "IITK", - "developers": [ - { - "name": "Prof. Dharamaja", - "email": "abc@gmail.com" - }, - { - "name": "Ashish Ahuja", - "email": "xyz@gmail.com" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "cloud", - "hosted_url": "http://cse14-iiith.vlabs.ac.in" - }, - { - "hosting_status": "hosted", - "hosted_on": "college-cloud", - "hosted_url": "http://cse14-iiith.ac.in" - } - ], - "integration_level": 4, - "overview": "This experiments describes about parallel and distributed processing", - "assets": [ - { - "asset_type": "image", - "path": "vlabs.ac.in/images/static/logo.png" - }, - { - "asset_type": "video", - "path": "vlabs.ac.in/video/abc.mkv" - } - ], - "sections": [ - "Introduction", - "Objective", - "Tutorial", - "Illustration", - "Procedure", - "Experiment", - "Observations", - "Assignment", - "References" - ] - } - } - headers = {'Content-Type': 'application/json'} - - response = self.client.post("/experiments", data=json.dumps(payload), - headers=headers) - - payload = { - "key" : KEY, - "lab": { - "id": "cse02", - "name": "Computer Programming", - "overview": "overview", - "discipline_id": "CSE", - "institute_id": "IITK", - "phase":[{"phase_id":1, "phase_id":2}], - "developers": [ - { - "name": "Dinesh Malviya", - "email": "xyz@gmail.com" - }, - { - "name": "Ashish Ahuja", - "email": "abc@gmail.com" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "cloud", - "hosted_url": "http://cse14-iiith.vlabs.ac.in" - }, - { - "hosting_status": "hosted", - "hosted_on": "college-cloud", - "hosted_url": "http://cse14-iiith.ac.in" - } - ], - "integration_level": 4, - "assets": [ - { - "asset_type": "image", - "path": "vlabs.ac.in/images/static/logo.png" - }, - { - "asset_type": "video", - "path": "vlabs.ac.in/video/abc.mkv" - } - ], - "sections": [ - { - "name": "Introduction" - } - - ], - "experiments": [ - "exp123" - ] - - } - } - - headers = {'Content-Type': 'application/json'} - - response = self.client.post("/labs", data=json.dumps(payload), - headers=headers) - - response = self.client.get("/labs?discipline_name=Computer Science", - headers=headers) - self.assertEqual(response.status_code, 200) - -#+END_SRC - **** TestGetLabbyLabNameKeyword #+NAME: test_get_lab_by_labname_keyword #+BEGIN_SRC python @@ -10028,7 +9702,7 @@ class TestUpdateDiscipline(TestCase): :PROPERTIES: :CUSTOM_ID: delete_discipline_by_discipline_id :END: - - URL :: /disciplines?&key= + - URL :: /disciplines?discipline_id=&key= - Method :: DELETE diff --git a/src/runtime/system/persistence-delegate.org b/src/runtime/system/persistence-delegate.org index 2c8d994..cc58eca 100755 --- a/src/runtime/system/persistence-delegate.org +++ b/src/runtime/system/persistence-delegate.org @@ -3836,6 +3836,7 @@ class TestPersistenceDelegate(TestCase): asset.save() asset_obj = self.persistence_delegate.get_asset(asset_type= asset.get("asset_type")) + self.assertEqual(asset_obj.get("asset_type"), asset.get("asset_type")) @@ -4217,6 +4218,93 @@ class TestPersistenceDelegate(TestCase): lab1.get("institute").\ get("institute_id")) + def test_get_lab_with_given_phase(self): + print "test_get_lab_with_given_phase" + + lab_name1="Computer Programming" + lab_id1="CSE01" + overview="overview" + + asset_type = AssetType(asset_type="Image") + asset_type.save() + + path = "vlabs.ac.in/images/static/logo.png" + asset = Asset(asset_type=asset_type, path=path) + asset.save() + + institute_name = "IIT Kanpur" + institute_id = "IITK" + inst = Institute(institute_name=institute_name, + institute_id=institute_id, + assets=[asset]) + inst.save() + + discipline_name = "IIT Kanpur" + discipline_id = "IITK" + discipline = Discipline(discipline_name=discipline_name, + discipline_id=discipline_id, + assets=[asset]) + discipline.save() + + integration_level = 4 + integration_status = IntegrationStatus\ + (integration_level=integration_level) + integration_status.save() + dev_name = Name(name="Mohit Tahiliani") + dev_name.save() + email_id = Email(email="mohit.tahiliani@gmail.com") + email_id.save() + dev = Developer(name=dev_name, email=email_id) + dev.save() + + hosting_status = "hosted" + hosted_url = "http://cse14-iiith.vlabs.ac.in" + hosted_on = "cloud" + host = HostingInfo(hosting_status=hosting_status, + hosted_url=hosted_url, + hosted_on=hosted_on) + host.save() + + name = "Theory" + section = Section(name=name) + section.save() + + phase1=Phase(phase_id=1) + phase1.save() + + lab1 = Lab(lab_name=lab_name1, lab_id=lab_id1, + overview=overview, + institute=inst, + discipline=discipline, + hosting_info=[host], assets=[asset], + experiments=[], developers=[dev], + sections=[section], phase=[phase1], + integration_status=integration_status) + lab1.save() + + lab_name2="Data Structures" + lab_id2="CSE02" + + lab2 = Lab(lab_name=lab_name2, lab_id=lab_id2, + overview=overview, + institute=inst, + discipline=discipline, + assets=[asset], + experiments=[], phase=[phase1], + integration_status=integration_status, + developers=[dev], + sections=[section], + hosting_info=[host]) + lab2.save() + + labs_list = self.persistence_delegate.\ + get_labs(phase=phase1) + + self.assertEqual(labs_list[0].get("phase")[0].\ + get("phase_id"), + phase1.get("phase_id")) + + #+END_SRC diff --git a/src/runtime/system/system-interface.org b/src/runtime/system/system-interface.org index 28ff47b..228d3af 100755 --- a/src/runtime/system/system-interface.org +++ b/src/runtime/system/system-interface.org @@ -3134,567 +3134,6 @@ class TestGetLabsByLabName(TestCase): #+END_SRC - -** Get Labs by Asset -#+NAME: class_get_labs_by_asset -#+begin_src python - @staticmethod - def get_labs_by_asset(asset_type): - asset = System.do("get_asset_by_asset_type", - asset_type=str(asset_type)) - try: - current_app.logger.debug("running operation get_labs_by_asset_type") - labs = System.do("get_labs_by_asset", asset=asset) - current_app.logger.debug("completed operation get_labs_by_asset_type") - labs_dict_list = [] - for lab in labs: - lab_x = lab.to_client() - labs_dict_list.append(lab_x) - current_app.logger.debug("got labs") - return labs_dict_list - - except (ArityError, TypeError, NotAuthorizedError, StateError) as err: - current_app.logger.error("Exception = %s" % str(err)) - raise err - - except Exception as err: - current_app.logger.error("Exception = %s" % str(err)) - raise err -#+end_src - -*** TestGetLabsByAssetType - #+NAME: test_class_get_labs_by_asset_type - #+BEGIN_SRC python -class TestGetLabsByAssetType(TestCase): - TESTING = True - def create_app(self): - app = create_app(config) - return app - - def setUp(self): - app = self.create_app() - self.app_context = app.app_context() - self.app_context.push() - db.create_all() - - def tearDown(self): - self.app_context.pop() - db.session.remove() - db.drop_all() - - def test_get_labs_by_asset_in_system_interface(self): - print "test_get_labs_by_asset_in_system_interface" - - data_dict = { - 'hosting_status': 'hosted', - 'hosted_url': 'http://cse14-iiith.vlabs.ac.in', - 'hosted_on': 'cloud', - 'key' : KEY - } - - hosting_info = SystemInterface.add_hosting_info(data_dict) - - data_dict = { - 'key' : KEY, - 'integration_level': 4 - } - - integration_status = SystemInterface.add_integration_status(data_dict) - - data_dict = { - 'key' : KEY, - 'asset_type': 'Image', - 'path': 'vlabs.ac.in/images/static/logo.png' - } - - asset = SystemInterface.add_asset(data_dict) - - data_dict = { - 'key' : KEY, - 'institute_name': 'IIT Kanpur', - 'institute_id': 'IITK', - "assets": [ - { - "asset_type": "image", - "path": "vlabs.ac.in/images/static/logo.png" - } - ] - - } - - institute = SystemInterface.add_institute(data_dict) - - data_dict = { - 'key' : KEY, - 'discipline_name': 'computer science', - 'discipline_id': 'CSE', - "assets": [ - { - "asset_type": "image", - "path": "vlabs.ac.in/images/static/logo.png" - } - ] - - } - - discipline = SystemInterface.add_discipline(data_dict) - - data_dict = { - 'key' : KEY, - 'name': 'Prof. Dharamaja', - 'email': 'abc@gmail.com' - } - - developer = SystemInterface.add_developer(data_dict) - - data_dict = { - 'key' : KEY, - 'name': 'Procedure' - } - - section = SystemInterface.add_section(data_dict) - - - data_dict = { - "key" : KEY, - "experiment": { - "id": "exp123", - "overview": "overview", - "name": "Parallel and distributed processing", - "discipline_id": "CSE", - "institute_id": "IITK", - "developers": [ - { - "name": "Dinesh Malviya", - "email": "xyz@gmail.com" - }, - { - "name": "Ashish Ahuja", - "email": "abc@gmail.com" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "college-cloud", - "hosted_url": "http://cse14-iiith.ac.in" - } - ], - "integration_level": 4, - "assets": [ - { - "asset_type": "image", - "path": "vlabs.ac.in/images/static/logo.png" - }, - { - "asset_type": "video", - "path": "vlabs.ac.in/video/abc.mkv" - } - ], - "sections": [ - "Introduction", - "Objective", - "Tutorial", - "Illustration", - "Procedure", - "Experiment", - "Observations", - "Assignment", - "References" - ] - } - } - - experiment = SystemInterface.add_experiment(data_dict) - - data_dict = { - "key" : KEY, - "lab": { - "id": "cse02", - "name": "Computer Programming", - "overview": "overview", - "discipline_id": "CSE", - "institute_id": "IIITH", - "phase":[{"phase_id":1, "phase_id":2}], - "developers": [ - { - "name": "Dinesh Malviya", - "email": "xyz@gmail.com" - }, - { - "name": "Ashish Ahuja", - "email": "abc@gmail.com" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "cloud", - "hosted_url": "http://cse14-iiith.vlabs.ac.in" - }, - { - "hosting_status": "hosted", - "hosted_on": "college-cloud", - "hosted_url": "http://cse14-iiith.ac.in" - } - ], - "integration_level": 4, - "assets": [ - { - "asset_type": "image", - "path": "vlabs.ac.in/images/static/logo.png" - }, - { - "asset_type": "video", - "path": "vlabs.ac.in/video/abc.mkv" - } - ], - "sections": [ - { - "name": "Introduction" - } - ], - "experiments": [ - "exp123" - ] - - } - } - - data_dict1 = { - "key" : KEY, - "lab": { - "id": "cse03", - "name": "Computer Programming", - "overview": "overview", - "discipline_id": "CSE", - "institute_id": "IIITH", - "phase":[{"phase_id":1, "phase_id":2}], - "developers": [ - { - "name": "Dinesh Malviya", - "email": "xyz@gmail.com" - }, - { - "name": "Ashish Ahuja", - "email": "abc@gmail.com" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "cloud", - "hosted_url": "http://cse14-iiith.vlabs.ac.in" - }, - { - "hosting_status": "hosted", - "hosted_on": "college-cloud", - "hosted_url": "http://cse14-iiith.ac.in" - } - ], - "integration_level": 4, - "assets": [ - { - "asset_type": "image", - "path": "vlabs.ac.in/images/static/logo.png" - }, - { - "asset_type": "video", - "path": "vlabs.ac.in/video/abc.mkv" - } - ], - "sections": [ - { - "name": "Introduction" - } - - ], - "experiments": [ - "exp123" - ] - - } - } - lab = SystemInterface.add_lab(data_dict) - lab1 = SystemInterface.add_lab(data_dict1) - - labs = SystemInterface.get_labs_by_asset_type("Image") - - self.assertEqual(labs[0]['asset']['asset_type'], "Image") - - #+END_SRC - -*** TestGetLabsByIntegration_Status - #+NAME: test_class_get_labs_by_integration_status - #+BEGIN_SRC python -class TestGetLabsByIntegration_Status(TestCase): - TESTING = True - def create_app(self): - app = create_app(config) - return app - - def setUp(self): - app = self.create_app() - self.app_context = app.app_context() - self.app_context.push() - db.create_all() - - def tearDown(self): - self.app_context.pop() - db.session.remove() - db.drop_all() - - def test_get_labs_by_integration_status_in_system_interface(self): - print "test_get_labs_by_integration_status_in_system_interface" - data_dict = { - 'key' : KEY, - 'integration_level': 4 - } - - integration_status = SystemInterface.add_integration_status(data_dict) - - data_dict = { - 'hosting_status': 'hosted', - 'hosted_url': 'http://cse14-iiith.vlabs.ac.in', - 'hosted_on': 'cloud', - 'key' : KEY - } - - hosting_info = SystemInterface.add_hosting_info(data_dict) - - data_dict = { - 'key' : KEY, - 'institute_name': 'IIT Kanpur', - 'institute_id': 'IITK', - "assets": [ - { - "asset_type": "image", - "path": "vlabs.ac.in/images/static/logo.png" - } - ] - - } - - institute = SystemInterface.add_institute(data_dict) - - data_dict = { - 'key' : KEY, - 'discipline_name': 'Computer Science', - 'discipline_id': 'CSE', - "assets": [ - { - "asset_type": "image", - "path": "vlabs.ac.in/images/static/logo.png" - } - ] - - } - - discipline = SystemInterface.add_discipline(data_dict) - - data_dict = { - 'key' : KEY, - 'name': 'Prof. Dharamaja', - 'email': 'abc@gmail.com' - } - - developer = SystemInterface.add_developer(data_dict) - - data_dict = { - 'key' : KEY, - 'asset_type': 'Image', - 'path': 'vlabs.ac.in/images/static/logo.png' - } - - asset = SystemInterface.add_asset(data_dict) - - data_dict = { - 'key' : KEY, - 'asset_type': 'Image', - 'path': 'vlabs.ac.in/images/static/icon.png' - } - - asset2 = SystemInterface.add_asset(data_dict) - - data_dict = { - 'key' : KEY, - 'name': 'Procedure' - } - - section = SystemInterface.add_section(data_dict) - - data_dict = { - "key" : KEY, - "experiment": { - "id": "exp123", - "overview": "overview", - "name": "Parallel and distributed processing", - "discipline_id": "CSE", - "institute_id": "IITK", - "developers": [ - { - "name": "Dinesh Malviya", - "email": "xyz@gmail.com" - }, - { - "name": "Ashish Ahuja", - "email": "abc@gmail.com" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "college-cloud", - "hosted_url": "http://cse14-iiith.ac.in" - } - ], - "integration_level": 4, - "assets": [ - { - "asset_type": "image", - "path": "vlabs.ac.in/images/static/logo.png" - }, - { - "asset_type": "video", - "path": "vlabs.ac.in/video/abc.mkv" - } - ], - "sections": [ - "Introduction", - "Objective", - "Tutorial", - "Illustration", - "Procedure", - "Experiment", - "Observations", - "Assignment", - "References" - ] - } - } - - experiment = SystemInterface.add_experiment(data_dict) - - - data_dict = { - "key" : KEY, - "lab": { - "id": "cse02", - "name": "Computer Programming", - "overview": "overview", - "discipline_id": "CSE", - "institute_id": "IIITH", - "phase":[{"phase_id":1, "phase_id":2}], - "developers": [ - { - "name": "Dinesh Malviya", - "email": "xyz@gmail.com" - }, - { - "name": "Ashish Ahuja", - "email": "abc@gmail.com" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "cloud", - "hosted_url": "http://cse14-iiith.vlabs.ac.in" - }, - { - "hosting_status": "hosted", - "hosted_on": "college-cloud", - "hosted_url": "http://cse14-iiith.ac.in" - } - ], - "integration_level": 4, - "assets": [ - { - "asset_type": "image", - "path": "vlabs.ac.in/images/static/logo.png" - }, - { - "asset_type": "video", - "path": "vlabs.ac.in/video/abc.mkv" - } - ], - "sections": [ - { - "name": "Introduction" - } - - ], - "experiments": [ - "exp123" - ] - - } - } - - data_dict1 = { - "key" : KEY, - "lab": { - "id": "cse03", - "name": "Computer Programming", - "overview": "overview", - "discipline_id": "CSE", - "institute_id": "IIITH", - "phase":[{"phase_id":1, "phase_id":2}], - "developers": [ - { - "name": "Dinesh Malviya", - "email": "xyz@gmail.com" - }, - { - "name": "Ashish Ahuja", - "email": "abc@gmail.com" - } - ], - "hosting_info": [ - { - "hosting_status": "hosted", - "hosted_on": "cloud", - "hosted_url": "http://cse14-iiith.vlabs.ac.in" - }, - { - "hosting_status": "hosted", - "hosted_on": "college-cloud", - "hosted_url": "http://cse14-iiith.ac.in" - } - ], - "integration_level": 4, - "assets": [ - { - "asset_type": "image", - "path": "vlabs.ac.in/images/static/logo.png" - }, - { - "asset_type": "video", - "path": "vlabs.ac.in/video/abc.mkv" - } - ], - "sections": [ - { - "name": "Introduction" - } - - ], - "experiments": [ - "exp123" - ] - - } - } - - lab = SystemInterface.add_lab(data_dict) - lab1 = SystemInterface.add_lab(data_dict1) - - labs = SystemInterface.get_labs_by_integration_status(4) - - self.assertEqual(labs[0]['integration_status']['integration_level'], 4) - - #+END_SRC - ** Get Experiments #+NAME: class_get_experiments @@ -6044,6 +5483,7 @@ class TestUpdateLab(TestCase): #+END_SRC + ** Update Experiment #+NAME: class_update_experiment #+begin_src python diff --git a/src/runtime/system/system.org b/src/runtime/system/system.org index c881796..b20a670 100755 --- a/src/runtime/system/system.org +++ b/src/runtime/system/system.org @@ -1950,30 +1950,6 @@ class AddAssetsToLab(): -** =GetLabsByAsset= -#+NAME: class_get_labs_by_asset -#+begin_src python -class GetLabsByAsset(): - arg_types = {"asset": is_asset} - arity_and_type_checks_needed = True - - @staticmethod - def auth_check(args): - pass - - @staticmethod - def state_check(args): - pass - - @staticmethod - def action(args): - asset = args['asset'] - labs = System.delegate.get_labs(asset=asset) - return labs - -#+end_src - - ** =GetAssetByAssetType= #+NAME: class_get_asset_by_asset_type #+begin_src python From 8109d5ff916a455abc0f2645a10d52fa1a5eb1f5 Mon Sep 17 00:00:00 2001 From: madhavi Date: Fri, 29 Dec 2017 17:32:24 +0530 Subject: [PATCH 089/105] removed duplicate in system --- src/runtime/system/system.org | 1 - 1 file changed, 1 deletion(-) diff --git a/src/runtime/system/system.org b/src/runtime/system/system.org index b20a670..7ba58d3 100755 --- a/src/runtime/system/system.org +++ b/src/runtime/system/system.org @@ -2055,7 +2055,6 @@ ops_table = {'add_lab' : AddLab, 'add_assets_to_lab': AddAssetsToLab, 'get_section': GetSection, 'update_name': UpdateName, - 'get_labs_by_asset': GetLabsByAsset, 'get_asset_by_asset_type': GetAssetByAssetType, 'add_phase' : AddPhase, 'delete_phase': DeletePhase, From dab9bcff5b83a36ac92fee9510888055941a8feb Mon Sep 17 00:00:00 2001 From: madhavi Date: Mon, 1 Jan 2018 12:44:50 +0530 Subject: [PATCH 090/105] fixed error 'global name section_obj_list is not defined' --- src/runtime/system/system-interface.org | 34 ++++++++----------------- 1 file changed, 11 insertions(+), 23 deletions(-) diff --git a/src/runtime/system/system-interface.org b/src/runtime/system/system-interface.org index 228d3af..0707bc8 100755 --- a/src/runtime/system/system-interface.org +++ b/src/runtime/system/system-interface.org @@ -5052,20 +5052,14 @@ class TestGetNameById(TestCase): if 'sections' not in data_dict['lab']: section_list = lab.get("sections") else: - section_list=[] - for section in data_dict['lab']['sections']: - if 'experiments' in section.keys(): - experiments = section['experiments'] - else: - section_list.append(section['name']) - - section_obj_list=[] - for section_x in section_obj_list: + sections = data_dict['lab']['sections'] + section_list = [] + for section_x in sections: section = System.do("get_section", name=section_x['name']) if section is None: section = section_cls(name=str(section_x['name'])) section = System.do("add_section", section=section, session=session) - section_obj_list.append(section) + section_list.append(section) if 'developers' not in data_dict['lab']: developer_list = lab.get("developers") @@ -5104,7 +5098,7 @@ class TestGetNameById(TestCase): experiments=exp_list, phase=phase_list, developers=developer_list, - sections=section_obj_list, + sections=section_list, integration_status=integration_status) current_app.logger.debug("completed operation update_lab") return lab.to_client() @@ -5567,23 +5561,17 @@ class TestUpdateLab(TestCase): asset = System.do("add_asset", asset=asset, session=session) asset_list.append(asset) - if 'sections' not in data_dict['experiment']: - section_list = experiment.get("sections") + if 'sections' not in data_dict['lab']: + section_list = lab.get("sections") else: - section_list=[] - for section in data_dict['lab']['sections']: - if 'experiments' in section.keys(): - experiments = section['experiments'] - else: - section_list.append(section['name']) - - section_obj_list=[] - for section_x in section_obj_list: + sections = data_dict['lab']['sections'] + section_list = [] + for section_x in sections: section = System.do("get_section", name=section_x['name']) if section is None: section = section_cls(name=str(section_x['name'])) section = System.do("add_section", section=section, session=session) - section_obj_list.append(section) + section_list.append(section) if 'developers' not in data_dict['experiment']: developer_list = experiment.get("developers") From 32309f23df7418214e8533fde2e89f3c286937b4 Mon Sep 17 00:00:00 2001 From: madhavi Date: Tue, 2 Jan 2018 11:06:00 +0530 Subject: [PATCH 091/105] update experiment testcase in SI --- src/runtime/system/system-interface.org | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/runtime/system/system-interface.org b/src/runtime/system/system-interface.org index 0707bc8..7f768d4 100755 --- a/src/runtime/system/system-interface.org +++ b/src/runtime/system/system-interface.org @@ -5564,7 +5564,7 @@ class TestUpdateLab(TestCase): if 'sections' not in data_dict['lab']: section_list = lab.get("sections") else: - sections = data_dict['lab']['sections'] + sections = data_dict['experiment']['sections'] section_list = [] for section_x in sections: section = System.do("get_section", name=section_x['name']) From ba100600f2932150ff8f73ba5e93775a97f43a8a Mon Sep 17 00:00:00 2001 From: madhavi Date: Tue, 2 Jan 2018 12:15:37 +0530 Subject: [PATCH 092/105] update lab to experiment in update experiment testcase in SI --- src/runtime/system/system-interface.org | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/runtime/system/system-interface.org b/src/runtime/system/system-interface.org index 7f768d4..daaab4b 100755 --- a/src/runtime/system/system-interface.org +++ b/src/runtime/system/system-interface.org @@ -5561,7 +5561,7 @@ class TestUpdateLab(TestCase): asset = System.do("add_asset", asset=asset, session=session) asset_list.append(asset) - if 'sections' not in data_dict['lab']: + if 'sections' not in data_dict['experiment']: section_list = lab.get("sections") else: sections = data_dict['experiment']['sections'] From 9a7cf9890617feade4bf642355fcc4ba4bdce62b Mon Sep 17 00:00:00 2001 From: madhavi Date: Tue, 2 Jan 2018 12:48:19 +0530 Subject: [PATCH 093/105] update section in update experiment in SI --- src/runtime/system/persistence-delegate.org | 87 --------------------- src/runtime/system/system-interface.org | 6 +- 2 files changed, 3 insertions(+), 90 deletions(-) diff --git a/src/runtime/system/persistence-delegate.org b/src/runtime/system/persistence-delegate.org index cc58eca..a008984 100755 --- a/src/runtime/system/persistence-delegate.org +++ b/src/runtime/system/persistence-delegate.org @@ -4218,93 +4218,6 @@ class TestPersistenceDelegate(TestCase): lab1.get("institute").\ get("institute_id")) - def test_get_lab_with_given_phase(self): - print "test_get_lab_with_given_phase" - - lab_name1="Computer Programming" - lab_id1="CSE01" - overview="overview" - - asset_type = AssetType(asset_type="Image") - asset_type.save() - - path = "vlabs.ac.in/images/static/logo.png" - asset = Asset(asset_type=asset_type, path=path) - asset.save() - - institute_name = "IIT Kanpur" - institute_id = "IITK" - inst = Institute(institute_name=institute_name, - institute_id=institute_id, - assets=[asset]) - inst.save() - - discipline_name = "IIT Kanpur" - discipline_id = "IITK" - discipline = Discipline(discipline_name=discipline_name, - discipline_id=discipline_id, - assets=[asset]) - discipline.save() - - integration_level = 4 - integration_status = IntegrationStatus\ - (integration_level=integration_level) - integration_status.save() - dev_name = Name(name="Mohit Tahiliani") - dev_name.save() - email_id = Email(email="mohit.tahiliani@gmail.com") - email_id.save() - dev = Developer(name=dev_name, email=email_id) - dev.save() - - hosting_status = "hosted" - hosted_url = "http://cse14-iiith.vlabs.ac.in" - hosted_on = "cloud" - host = HostingInfo(hosting_status=hosting_status, - hosted_url=hosted_url, - hosted_on=hosted_on) - host.save() - - name = "Theory" - section = Section(name=name) - section.save() - - phase1=Phase(phase_id=1) - phase1.save() - - lab1 = Lab(lab_name=lab_name1, lab_id=lab_id1, - overview=overview, - institute=inst, - discipline=discipline, - hosting_info=[host], assets=[asset], - experiments=[], developers=[dev], - sections=[section], phase=[phase1], - integration_status=integration_status) - lab1.save() - - lab_name2="Data Structures" - lab_id2="CSE02" - - lab2 = Lab(lab_name=lab_name2, lab_id=lab_id2, - overview=overview, - institute=inst, - discipline=discipline, - assets=[asset], - experiments=[], phase=[phase1], - integration_status=integration_status, - developers=[dev], - sections=[section], - hosting_info=[host]) - lab2.save() - - labs_list = self.persistence_delegate.\ - get_labs(phase=phase1) - - self.assertEqual(labs_list[0].get("phase")[0].\ - get("phase_id"), - phase1.get("phase_id")) - - #+END_SRC diff --git a/src/runtime/system/system-interface.org b/src/runtime/system/system-interface.org index daaab4b..ce13541 100755 --- a/src/runtime/system/system-interface.org +++ b/src/runtime/system/system-interface.org @@ -5562,14 +5562,14 @@ class TestUpdateLab(TestCase): asset_list.append(asset) if 'sections' not in data_dict['experiment']: - section_list = lab.get("sections") + section_list = experiment.get("sections") else: sections = data_dict['experiment']['sections'] section_list = [] for section_x in sections: - section = System.do("get_section", name=section_x['name']) + section = System.do("get_section", name=section_x) if section is None: - section = section_cls(name=str(section_x['name'])) + section = section_cls(name=section_x) section = System.do("add_section", section=section, session=session) section_list.append(section) From 67b8f49b0fa2b4c2bd8cdc22ca64181ba87216c8 Mon Sep 17 00:00:00 2001 From: Thirumal Ravula Date: Wed, 3 Jan 2018 05:18:47 +0000 Subject: [PATCH 094/105] link broken --- src/deployment/index.org | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/src/deployment/index.org b/src/deployment/index.org index f623503..4d1d913 100755 --- a/src/deployment/index.org +++ b/src/deployment/index.org @@ -217,11 +217,11 @@ post_lab_spec(lab_file_list[0]) ** Migration Steps 1. create database lds_old 2. restoring the dump - #+BEGIN_SRC + #+BEGIN_SRC sh mysql -u root -p lds_old < lds.sql #+END_SRC 3. create the schema - #+BEGIN_SRC + #+BEGIN_SRC sh create table asset_type(id int(11) auto_increment, asset_type varchar(255) unique, primary key(id)); select distinct asset_type from asset; insert into asset_type (asset_type) values("image"); @@ -233,25 +233,25 @@ post_lab_spec(lab_file_list[0]) alter table experiment drop column lb_id; #+END_SRC 4. update config file with lds_old database - #+BEGIN_SRC + #+BEGIN_SRC sh SQLALCHEMY_DATABASE_URI = 'mysql+oursql://root:root@localhost/lds_old' #+END_SRC 5. run the app - #+BEGIN_SRC + #+BEGIN_SRC sh cd build/code/runtime/rest python app.py #+END_SRC 6. run the migration script - #+BEGIN_SRC + #+BEGIN_SRC sh cd build/code/deployment python migration.py #+END_SRC 7. drop table asset_old - #+BEGIN_SRC + #+BEGIN_SRC sh drop table asset_old #+END_SRC 8. backup the new mysql dump - #+BEGIN_SRC + #+BEGIN_SRC sh mysqldump -u root -proot lds_old > lds.sql #+END_SRC ** Migration Script @@ -613,7 +613,9 @@ exit 0 * Program to update Phase information of all Labs which are on Phase II Phase II information of labs are updated from the google - spread sheet: [[link][https://docs.google.com/spreadsheets/d/1m9nZzl_ehYNaTwX-92DI0GsgSkXRNPK2-Ay26fUmvWc/edit#gid=1217243506]] + spread sheet: + ** Link + [[https://docs.google.com/spreadsheets/d/1m9nZzl_ehYNaTwX-92DI0GsgSkXRNPK2-Ay26fUmvWc/edit#gid=1217243506][link]] ** Steps: 1. Update the =lds_url= with =lds_server= domain name/ip_address in the following script available at From ea04e5f8cac3dc2ee9315bfe51177533ee5d2d64 Mon Sep 17 00:00:00 2001 From: madhavi Date: Mon, 8 Jan 2018 11:35:33 +0530 Subject: [PATCH 095/105] update phase II info of labs in update phase script --- src/deployment/index.org | 50 +++++++++++++++++++--------------------- 1 file changed, 24 insertions(+), 26 deletions(-) diff --git a/src/deployment/index.org b/src/deployment/index.org index 4d1d913..06385c9 100755 --- a/src/deployment/index.org +++ b/src/deployment/index.org @@ -640,34 +640,32 @@ exit 0 import requests import json -lds_url = "http://192.168.33.3" +lds_url = "http://lds-alpha.base4.vlabs.ac.in" headers = {'Content-Type': 'application/json'} -labs = ["biotech01", "phy-sc23", "biotech22", "phy-sc28", - "phy-sc22", "phy-sc27", "phy-sc24", "biotech18", - "biotech17", "phy-sc10", "phy-sc13", "biotech22", - "biotech14", "mbvii-au", "biotech13", "aacv-au", - "icv-au", "ocv-au", "pcv-au", "ov-au", "cse12", - "bio16", "ece19", "eee05", "eee09", "eee10", - "eee12", "mech04", "mech17", "mech18", "mech26", - "eee06", "chs12", "phy12", "ai-dei", "ece26", - "civil09", "chem-engg04", "ece40", "chem01", - "biotech25", "civil13", "mddl", "civil11", - "aero04", "ee32", "ece04", "ece21", "bio15", - "civil16", "ece08", "eee07", "chs13", "mech08", - "mech48", "hss02", "hss03", "ece10", "eee01", - "eee02", "me01", "me02", "ce01", "eee05", - "cse23", "cse15", "cse19", "cse18", "ccnsb07", - "cse29", "cse22", "cse14", "eerc01", "eerc03", - "cse24", "eerc04", "cse02", "cse01", "cse11", - "cse20", "ccnsb01", "ccnsb06", "cse03", "cse04", - "VLS01", "VLS02", "VLS03", "VLS04", "VLS05", - "VLS06", "VLS07", "VLS08", "VLS09", "VLS10", - "VLS11", "VLS12", "VLS13", "VLS14", "VLS15", - "VLS16", "VLS17", "VLS18", "VLS19", "VLS20", - "biotech26", "eee23", "eee24", "civil15", - "chem05", "civil07", "ee30", "eee08", - "mech21", "mech05"] +labs = ["biotech01", "physc05", "biotech22", "physc08", +"physc04", "physc07","physc06", "biotech18", "biotech17", +"physc01", "physc02", "biotech29","biotech14", +"biotech13", "biotech13", "chemsc01", "chemsc09", +"chemsc10", "chemsc07", "physc11", "cse12", "biotech28", +"ece19", "ee05", "ee09", "ee10", "ee01", "mech04", +"mech17", "mech18", "mech26", "ee06", "chemengg06", +"physc14", "chemengg02", "ece26", "civil09", "chemengg01", +"ece40", "chemengg04", "biotech25", "civil13", "ece43", +"civil11", "aero04", "ee32", "ece04", "ece21", "biotech27", +"civil16", "ece08", "ee07", "chemsc09", "mech08", "mech48", +"hmt02", "hmt03", "ece10", "ece54", "ece55", "mech49", +"mech50", "chemengg03", "ece41", "cse23", "cse15", "cse19", +"cse18", "chemsc08", "cse29", "cse22", "cse14", +"civil21", "civil23", "cse24", "civil24", "cse02", +"cse01", "cse11", "cse20", "chemsc02", "chemsc07", +"chemsc04", "cse04", "mech54", "ece47", "ece48", +"mech55", "ece49", "ece50", "ece51", "isengg01", +"ece52", "cse32", "civil28", "cse33", "ece53", +"chemengg07", "mech56", "mech57", "mech58", "ee04", +"mech59", "mining01", "biotech26", "biotech32", +"ee02", "civil15", "chemengg05", "civil07", "ee30", +"ee08", "mech21", "mech05"] data = { "lab": { From 025311abe51fbfc4c1fe8f2b908775d31e0cd2b5 Mon Sep 17 00:00:00 2001 From: madhavi Date: Mon, 8 Jan 2018 15:34:00 +0530 Subject: [PATCH 096/105] add get discipline by id and get institute by id --- src/runtime/rest/api.org | 782 +++++++++++++++++++++++- src/runtime/system/system-interface.org | 583 ++++++++++++++++++ src/runtime/system/system.org | 54 ++ 3 files changed, 1387 insertions(+), 32 deletions(-) diff --git a/src/runtime/rest/api.org b/src/runtime/rest/api.org index ee4f3c6..9b31ea2 100755 --- a/src/runtime/rest/api.org +++ b/src/runtime/rest/api.org @@ -16,7 +16,7 @@ * REST -** Get Labs, Get Lab, Get Labs by institute, lab_name, discipline and Get labs by passing lab_name as keyword +** Get Labs, Get Lab, Get Labs by institute id, institute name, lab_name, discipline id, discipline name and Get labs by passing lab_name as keyword *** API Designs **** Get all labs :PROPERTIES: @@ -236,6 +236,226 @@ http://localhost:5000/labs http://localhost:5000/labs?lab_id=cse02 #+END_EXAMPLE +**** Get labs by institute_id + :PROPERTIES: + :CUSTOM_ID: api_get_lab_by_lab_id + :END: + - URL :: /labs?institute_id= + + - Method :: GET + + - URL Params :: None + + - Payload :: None + + - Success Response + + Status_Code: 200 + + Contents : + +#+BEGIN_EXAMPLE +[ + { + "discipline": { + "discipline_id": "cse", + "assets": [], + "discipline_name": "Computer Science and Engineering", + "id": "6" + }, + "lab_id": "cse02", + "assets": [ + { + "path": "vlabs.ac.in/images/static/logo.png", + "asset_type": "image", + "id": "1" + }, + { + "path": "vlabs.ac.in/video/abc.mkv", + "asset_type": "video", + "id": "2" + } + ], + "hosting_info": [ + { + "hosting_status": "hosted", + "hosted_url": "http://cse14-iiith.vlabs.ac.in", + "hosted_on": "cloud", + "id": "1" + }, + { + "hosting_status": "hosted", + "hosted_url": "http://cse14-iiith.ac.in", + "hosted_on": "college-cloud", + "id": "2" + } + ], + "institute": { + "id": "8", + "institute_name": "IIT Kanpur", + "assets": [], + "institute_id": "iitk" + }, + "overview": "overview", + "lab_name": "Computer Programming", + "experiments": [], + "integration_status": { + "integration_level": 4, + "id": "5" + }, + "developers": [ + { + "id": "1", + "name": { + "name": "Dinesh Malviya", + "id": "1" + }, + "email": { + "email": "xyz@gmail.com", + "id": "1" + } + }, + { + "id": "2", + "name": { + "name": "Ashish Ahuja", + "id": "2" + }, + "email": { + "email": "abc@gmail.com", + "id": "2" + } + } + ], + "sections": [ + { + "name": "Introduction", + "id": "1" + } + ], + "id": "1" + } +] +#+END_EXAMPLE + + + - Error Response: + + Contents : + {"status" : "error"} + + - Example: +#+BEGIN_EXAMPLE +http://localhost:5000/labs?institute_id=iitk +#+END_EXAMPLE + +**** Get labs by discipline_id + :PROPERTIES: + :CUSTOM_ID: api_get_labs_by_discipline_id + :END: + - URL :: /labs?discipline_id= + + - Method :: GET + + - URL Params :: None + + - Payload :: None + + - Success Response + + Status_Code: 200 + + Contents : + +#+BEGIN_EXAMPLE +[ + { + "discipline": { + "discipline_id": "cse", + "assets": [], + "discipline_name": "Computer Science and Engineering", + "id": "6" + }, + "lab_id": "cse02", + "assets": [ + { + "path": "vlabs.ac.in/images/static/logo.png", + "asset_type": "image", + "id": "1" + }, + { + "path": "vlabs.ac.in/video/abc.mkv", + "asset_type": "video", + "id": "2" + } + ], + "hosting_info": [ + { + "hosting_status": "hosted", + "hosted_url": "http://cse14-iiith.vlabs.ac.in", + "hosted_on": "cloud", + "id": "1" + }, + { + "hosting_status": "hosted", + "hosted_url": "http://cse14-iiith.ac.in", + "hosted_on": "college-cloud", + "id": "2" + } + ], + "institute": { + "id": "8", + "institute_name": "IIT Kanpur", + "assets": [], + "institute_id": "iitk" + }, + "overview": "overview", + "lab_name": "Computer Programming", + "experiments": [], + "integration_status": { + "integration_level": 4, + "id": "5" + }, + "developers": [ + { + "id": "1", + "name": { + "name": "Dinesh Malviya", + "id": "1" + }, + "email": { + "email": "xyz@gmail.com", + "id": "1" + } + }, + { + "id": "2", + "name": { + "name": "Ashish Ahuja", + "id": "2" + }, + "email": { + "email": "abc@gmail.com", + "id": "2" + } + } + ], + "sections": [ + { + "name": "Introduction", + "id": "1" + } + ], + "id": "1" + } +] +#+END_EXAMPLE + + + - Error Response: + + Contents : + {"status" : "error"} + + - Example: +#+BEGIN_EXAMPLE +http://localhost:5000/labs?discipline_id=cse +#+END_EXAMPLE + **** Get labs by institute :PROPERTIES: :CUSTOM_ID: api_get_lab_by_lab_id @@ -1005,12 +1225,12 @@ def get_lab(): "msg": err_str} abort(500, msg) - elif 'institute_name' in request.args: - institute_name = request.args['institute_name'] + elif 'institute_id' in request.args: + institute_id = request.args['institute_id'] try: - current_app.logger.debug("running operation get_labs_by_institute") - labs = SystemInterface.get_labs_by_institute(institute_name) - current_app.logger.debug("completed operation get_labs_by_institute") + current_app.logger.debug("running operation get_labs_by_institute_id") + labs = SystemInterface.get_labs_by_institute_id(institute_id) + current_app.logger.debug("completed operation get_labs_by_institute_id") return jsonify_list(labs) except TypeError as e: @@ -1042,14 +1262,14 @@ def get_lab(): "msg": err_str} abort(500, msg) - elif 'discipline_name' in request.args: - discipline_name = request.args['discipline_name'] + elif 'institute_name' in request.args: + institute_name = request.args['institute_name'] try: - current_app.logger.debug("running operation get_labs_by_discipline") - labs = SystemInterface.get_labs_by_discipline(discipline_name) - current_app.logger.debug("completed operation get_labs_by_discipline") + current_app.logger.debug("running operation get_labs_by_institute") + labs = SystemInterface.get_labs_by_institute(institute_name) + current_app.logger.debug("completed operation get_labs_by_institute") return jsonify_list(labs) - + except TypeError as e: current_app.logger.error("Exception = %s" % str(e)) err_str = str(e) @@ -1079,14 +1299,12 @@ def get_lab(): "msg": err_str} abort(500, msg) - elif 'keyword_lab_name' in request.args: - keyword = request.args['keyword_lab_name'] + elif 'discipline_id' in request.args: + discipline_id = request.args['discipline_id'] try: - current_app.logger.debug("running operation get_labs" - " _by_keyword_lab_name") - labs = SystemInterface.get_labs_by_keyword_lab_name(keyword) - current_app.logger.debug("completed operation get_labs_by_" - " keyword_lab_name") + current_app.logger.debug("running operation get_labs_by_discipline_id") + labs = SystemInterface.get_labs_by_discipline_id(discipline_id) + current_app.logger.debug("completed operation get_labs_by_discipline_id") return jsonify_list(labs) except TypeError as e: @@ -1118,11 +1336,12 @@ def get_lab(): "msg": err_str} abort(500, msg) - else: + elif 'discipline_name' in request.args: + discipline_name = request.args['discipline_name'] try: - current_app.logger.debug("running operation get_labs") - labs = SystemInterface.get_labs() - current_app.logger.debug("completed operation get_labs") + current_app.logger.debug("running operation get_labs_by_discipline") + labs = SystemInterface.get_labs_by_discipline(discipline_name) + current_app.logger.debug("completed operation get_labs_by_discipline") return jsonify_list(labs) except TypeError as e: @@ -1153,16 +1372,91 @@ def get_lab(): msg = {"status": "failure", "msg": err_str} abort(500, msg) - -#+END_SRC - -*** Test Cases -**** TestGetLab -#+NAME: test_get_labs -#+BEGIN_SRC python -class TestGetLab(TestCase): - TESTING = True + elif 'keyword_lab_name' in request.args: + keyword = request.args['keyword_lab_name'] + try: + current_app.logger.debug("running operation get_labs" + " _by_keyword_lab_name") + labs = SystemInterface.get_labs_by_keyword_lab_name(keyword) + current_app.logger.debug("completed operation get_labs_by_" + " keyword_lab_name") + return jsonify_list(labs) + + except TypeError as e: + current_app.logger.error("Exception = %s" % str(e)) + err_str = str(e) + msg = {"status": "failure", + "msg": err_str } + abort(500, msg) + + except StateError as e: + current_app.logger.error("Exception = %s" % str(e)) + err_str = str(e) + msg = {"status": "failure", + "msg": err_str} + abort(500, msg) + + except NotFoundError as e: + current_app.logger.error("Exception = %s" % str(e)) + err_str = str(e) + msg = {"status": "failure", + "status code": 404, + "msg": err_str} + abort(404, msg) + + except Exception as e: + current_app.logger.error("Exception = %s" % str(e)) + err_str = str(e) + msg = {"status": "failure", + "msg": err_str} + abort(500, msg) + + else: + try: + current_app.logger.debug("running operation get_labs") + labs = SystemInterface.get_labs() + current_app.logger.debug("completed operation get_labs") + return jsonify_list(labs) + + except TypeError as e: + current_app.logger.error("Exception = %s" % str(e)) + err_str = str(e) + msg = {"status": "failure", + "msg": err_str } + abort(500, msg) + + except StateError as e: + current_app.logger.error("Exception = %s" % str(e)) + err_str = str(e) + msg = {"status": "failure", + "msg": err_str} + abort(500, msg) + + except NotFoundError as e: + current_app.logger.error("Exception = %s" % str(e)) + err_str = str(e) + msg = {"status": "failure", + "status code": 404, + "msg": err_str} + abort(404, msg) + + except Exception as e: + current_app.logger.error("Exception = %s" % str(e)) + err_str = str(e) + msg = {"status": "failure", + "msg": err_str} + abort(500, msg) + + +#+END_SRC + +*** Test Cases +**** TestGetLab +#+NAME: test_get_labs +#+BEGIN_SRC python +class TestGetLab(TestCase): + TESTING = True def create_app(self): app = create_app(config) return app @@ -1589,6 +1883,428 @@ class TestGetLabbyLabId(TestCase): #+END_SRC +**** TestGetLabsbyInstituteId +#+NAME: test_get_labs_by_institute_id +#+BEGIN_SRC python +class TestGetLabsbyInstituteId(TestCase): + TESTING = True + def create_app(self): + app = create_app(config) + return app + + def setUp(self): + app = self.create_app() + self.app_context = app.app_context() + self.app_context.push() + db.create_all() + + def tearDown(self): + self.app_context.pop() + db.session.remove() + db.drop_all() + + def test_get_labs_by_institute_id(self): + print "test_get_labs_by_institute_id_in_rest" + + payload = {'asset_type': 'Image', + 'path': 'vlabs.ac.in/images/static/logo.png', + 'key': KEY} + + headers = {'Content-Type': 'application/json'} + + response = self.client.post("/assets", data=json.dumps(payload), + headers=headers) + + payload = {'institute_name': 'IIT Kanpur', + 'institute_id': 'IITK', + "assets": [ + { + "asset_type": "image", + "path": "vlabs.ac.in/images/static/logo.png" + } + ], + + 'key': KEY} + + headers = {'Content-Type': 'application/json'} + + response = self.client.post("/institutes", data=json.dumps(payload), + headers=headers) + + payload = {'integration_level': 4, + 'key': KEY} + + headers = {'Content-Type': 'application/json'} + + response = self.client.post("/integration_status", data=json.dumps(payload), + headers=headers) + + payload = {'discipline_name': 'Computer Science', + 'discipline_id': 'CSE', + "assets": [ + { + "asset_type": "image", + "path": "vlabs.ac.in/images/static/logo.png" + } + ], + + 'key': KEY} + + response = self.client.post("/disciplines", data=json.dumps(payload), + headers=headers) + + payload = {'hosting_status': 'hosted', + 'hosted_url': 'http://cse14-iiith.vlabs.ac.in', + 'hosted_on': 'cloud', + 'key': KEY} + + response = self.client.post("/hosting_info", data=json.dumps(payload), + headers=headers) + + payload = {'name': 'Prof. Dharamaja', + 'email': 'abc@gmail.com', + 'key': KEY} + + headers = {'Content-Type': 'application/json'} + + response = self.client.post("/developers", data=json.dumps(payload), + headers=headers) + + payload = { + "key": KEY, + "experiment": { + "id": "exp123", + "name": "arrays", + "discipline_id": "CSE", + "institute_id": "IITK", + "developers": [ + { + "name": "Dinesh Malviya", + "email": "xyz@gmail.com" + }, + { + "name": "Ashish Ahuja", + "email": "abc@gmail.com" + } + ], + "hosting_info": [ + { + "hosting_status": "hosted", + "hosted_on": "cloud", + "hosted_url": "http://cse14-iiith.vlabs.ac.in" + }, + { + "hosting_status": "hosted", + "hosted_on": "college-cloud", + "hosted_url": "http://cse14-iiith.ac.in" + } + ], + "integration_level": 4, + "overview": "This experiments describes about parallel and distributed processing", + "assets": [ + { + "asset_type": "image", + "path": "vlabs.ac.in/images/static/logo.png" + }, + { + "asset_type": "video", + "path": "vlabs.ac.in/video/abc.mkv" + } + ], + "sections": [ + "Introduction", + "Objective", + "Tutorial", + "Illustration", + "Procedure", + "Experiment", + "Observations", + "Assignment", + "References" + ] + } + } + + response = self.client.post("/experiments", data=json.dumps(payload), + headers=headers) + + payload = { + "key" : KEY, + "lab": { + "id": "cse02", + "name": "Computer Programming", + "overview": "overview", + "discipline_id": "CSE", + "institute_id": "IITK", + "phase":[{"phase_id":1, "phase_id":2}], + "developers": [ + { + "name": "Dinesh Malviya", + "email": "xyz@gmail.com" + }, + { + "name": "Ashish Ahuja", + "email": "abc@gmail.com" + } + ], + "hosting_info": [ + { + "hosting_status": "hosted", + "hosted_on": "cloud", + "hosted_url": "http://cse14-iiith.vlabs.ac.in" + }, + { + "hosting_status": "hosted", + "hosted_on": "college-cloud", + "hosted_url": "http://cse14-iiith.ac.in" + } + ], + "integration_level": 4, + "assets": [ + { + "asset_type": "image", + "path": "vlabs.ac.in/images/static/logo.png" + }, + { + "asset_type": "video", + "path": "vlabs.ac.in/video/abc.mkv" + } + ], + "sections": [ + { + "name": "Introduction" + } + + ], + "experiments": [ + "exp123" + ] + + } + } + + + response = self.client.post("/labs", data=json.dumps(payload), + headers=headers) + + + response = self.client.get("/labs?institute_id=IITK", headers=headers) + self.assertEqual(response.status_code, 200) + +#+END_SRC + +**** TestGetLabsbyDisciplineId +#+NAME: test_get_labs_by_discipline_id +#+BEGIN_SRC python +class TestGetLabsbyDisciplineId(TestCase): + TESTING = True + def create_app(self): + app = create_app(config) + return app + + def setUp(self): + app = self.create_app() + self.app_context = app.app_context() + self.app_context.push() + db.create_all() + + def tearDown(self): + self.app_context.pop() + db.session.remove() + db.drop_all() + + def test_get_labs_by_discipline_id(self): + print "test_get_labs_by_discipline_id_in_rest" + + payload = {'asset_type': 'Image', + 'path': 'vlabs.ac.in/images/static/logo.png', + 'key': KEY} + + headers = {'Content-Type': 'application/json'} + + response = self.client.post("/assets", data=json.dumps(payload), + headers=headers) + + payload = {'institute_name': 'IIT Kanpur', + 'institute_id': 'IITK', + "assets": [ + { + "asset_type": "image", + "path": "vlabs.ac.in/images/static/logo.png" + } + ], + + 'key': KEY} + + headers = {'Content-Type': 'application/json'} + + response = self.client.post("/institutes", data=json.dumps(payload), + headers=headers) + + payload = {'integration_level': 4, + 'key': KEY} + + headers = {'Content-Type': 'application/json'} + + response = self.client.post("/integration_status", data=json.dumps(payload), + headers=headers) + + payload = {'discipline_name': 'Computer Science', + 'discipline_id': 'CSE', + "assets": [ + { + "asset_type": "image", + "path": "vlabs.ac.in/images/static/logo.png" + } + ], + + 'key': KEY} + + response = self.client.post("/disciplines", data=json.dumps(payload), + headers=headers) + + payload = {'name': 'Prof. Dharamaja', + 'email': 'abc@gmail.com', + 'key': KEY} + + headers = {'Content-Type': 'application/json'} + + response = self.client.post("/developers", data=json.dumps(payload), + headers=headers) + + payload = {'hosting_status': 'hosted', + 'hosted_url': 'http://cse14-iiith.vlabs.ac.in', + 'hosted_on': 'cloud', + 'key': KEY} + + + response = self.client.post("/hosting_info", data=json.dumps(payload), + headers=headers) + + payload = { + "key": KEY, + "experiment": { + "id": "exp123", + "name": "arrays", + "discipline_id": "CSE", + "institute_id": "IITK", + "developers": [ + { + "name": "Dinesh Malviya", + "email": "xyz@gmail.com" + }, + { + "name": "Ashish Ahuja", + "email": "abc@gmail.com" + } + ], + "hosting_info": [ + { + "hosting_status": "hosted", + "hosted_on": "cloud", + "hosted_url": "http://cse14-iiith.vlabs.ac.in" + }, + { + "hosting_status": "hosted", + "hosted_on": "college-cloud", + "hosted_url": "http://cse14-iiith.ac.in" + } + ], + "integration_level": 4, + "overview": "This experiments describes about parallel and distributed processing", + "assets": [ + { + "asset_type": "image", + "path": "vlabs.ac.in/images/static/logo.png" + }, + { + "asset_type": "video", + "path": "vlabs.ac.in/video/abc.mkv" + } + ], + "sections": [ + "Introduction", + "Objective", + "Tutorial", + "Illustration", + "Procedure", + "Experiment", + "Observations", + "Assignment", + "References" + ] + } + } + + headers = {'Content-Type': 'application/json'} + + response = self.client.post("/experiments", data=json.dumps(payload), + headers=headers) + + payload = { + "key" : KEY, + "lab": { + "id": "cse02", + "name": "Computer Programming", + "overview": "overview", + "discipline_id": "CSE", + "institute_id": "IITK", + "phase":[{"phase_id":1, "phase_id":2}], + "developers": [ + { + "name": "Dinesh Malviya", + "email": "xyz@gmail.com" + }, + { + "name": "Ashish Ahuja", + "email": "abc@gmail.com" + } + ], + "hosting_info": [ + { + "hosting_status": "hosted", + "hosted_on": "cloud", + "hosted_url": "http://cse14-iiith.vlabs.ac.in" + }, + { + "hosting_status": "hosted", + "hosted_on": "college-cloud", + "hosted_url": "http://cse14-iiith.ac.in" + } + ], + "integration_level": 4, + "assets": [ + { + "asset_type": "image", + "path": "vlabs.ac.in/images/static/logo.png" + }, + { + "asset_type": "video", + "path": "vlabs.ac.in/video/abc.mkv" + } + ], + "sections": [ + { + "name": "Introduction" + } + ], + "experiments": [ + "exp123" + ] + + } + } + + response = self.client.post("/labs", data=json.dumps(payload), + headers=headers) + + + response = self.client.get("/labs?discipline_id=CSE", + headers=headers) + self.assertEqual(response.status_code, 200) + +#+END_SRC + **** TestGetLabsbyInstitute #+NAME: test_get_labs_by_institute #+BEGIN_SRC python @@ -12101,8 +12817,10 @@ if __name__ == '__main__': <> <> <> +<> <> <> +<> <> <> <> diff --git a/src/runtime/system/system-interface.org b/src/runtime/system/system-interface.org index ce13541..909fe78 100755 --- a/src/runtime/system/system-interface.org +++ b/src/runtime/system/system-interface.org @@ -2283,6 +2283,581 @@ class TestGetLabsByKeywordLabName(TestCase): #+END_SRC +** Get Labs by Institute Id +#+NAME: class_get_labs_by_institute_id +#+begin_src python + @staticmethod + def get_labs_by_institute_id(institute_id): + institute = System.do("get_institute_by_institute_id", + institute_name=str(institute_id)) + try: + current_app.logger.debug("running operation get_labs_by_institute_id") + labs = System.do("get_labs_by_institute", institute=institute) + current_app.logger.debug("completed operation get_labs_by_institute_id") + labs_dict_list = [] + for lab in labs: + lab_x = lab.to_client() + labs_dict_list.append(lab_x) + current_app.logger.debug("got labs") + return labs_dict_list + + except (ArityError, TypeError, NotAuthorizedError, StateError) as err: + current_app.logger.error("Exception = %s" % str(err)) + raise err + + except Exception as err: + current_app.logger.error("Exception = %s" % str(err)) + raise err +#+end_src + +*** TestGetLabsByInstituteId + #+NAME: test_class_get_labs_by_institute_id + #+BEGIN_SRC python +class TestGetLabsByInstituteId(TestCase): + TESTING = True + def create_app(self): + app = create_app(config) + return app + + def setUp(self): + app = self.create_app() + self.app_context = app.app_context() + self.app_context.push() + db.create_all() + + def tearDown(self): + self.app_context.pop() + db.session.remove() + db.drop_all() + + def test_get_labs_by_institute_id_in_system_interface(self): + print "test_get_labs_by_institute_id_in_system_interface" + + data_dict = { + 'key' : KEY, + 'hosting_status': 'hosted', + 'hosted_url': 'http://cse14-iiith.vlabs.ac.in', + 'hosted_on': 'cloud' + } + + hosting_info = SystemInterface.add_hosting_info(data_dict) + + data_dict = { + 'key' : KEY, + 'integration_level': 4 + } + + integration_status = SystemInterface.add_integration_status(data_dict) + + data_dict = { + 'key' : KEY, + 'asset_type': 'Logo', + 'path': 'vlabs.ac.in/images/static/logo.png' + } + + asset = SystemInterface.add_asset(data_dict) + + + data_dict = { + 'key' : KEY, + 'institute_name': 'IIT Kanpur', + 'institute_id': 'IITK', + "assets": [ + { + "asset_type": "icon", + "path": "vlabs.ac.in/images/static/icon.png" + } + ] + + } + + institute = SystemInterface.add_institute(data_dict) + + data_dict = { + 'key' : KEY, + 'discipline_name': 'computer science', + 'discipline_id': 'CSE', + "assets": [ + { + "asset_type": "image", + "path": "vlabs.ac.in/images/static/logo.png" + } + ] + + } + + discipline = SystemInterface.add_discipline(data_dict) + + data_dict = { + 'key' : KEY, + 'name': 'Prof. Dharamaja', + 'email': 'abc@gmail.com' + } + + developer = SystemInterface.add_developer(data_dict) + + + data_dict = { + 'key' : KEY, + 'name': 'Procedure' + } + + section = SystemInterface.add_section(data_dict) + + data_dict = { + "key" : KEY, + "experiment": { + "id": "exp123", + "overview": "overview", + "name": "Parallel and distributed processing", + "discipline_id": "CSE", + "institute_id": "IITK", + "developers": [ + { + "name": "Dinesh Malviya", + "email": "xyz@gmail.com" + }, + { + "name": "Ashish Ahuja", + "email": "abc@gmail.com" + } + ], + "hosting_info": [ + { + "hosting_status": "hosted", + "hosted_on": "college-cloud", + "hosted_url": "http://cse14-iiith.ac.in" + } + ], + "integration_level": 4, + "assets": [ + { + "asset_type": "logo", + "path": "vlabs.ac.in/images/static/logo.png" + }, + { + "asset_type": "video", + "path": "vlabs.ac.in/video/abc.mkv" + } + ], + "sections": [ + "Introduction", + "Objective", + "Tutorial", + "Illustration", + "Procedure", + "Experiment", + "Observations", + "Assignment", + "References" + ] + } + } + + experiment = SystemInterface.add_experiment(data_dict) + + + data_dict = { + "key" : KEY, + "lab": { + "id": "cse02", + "name": "Computer Programming", + "overview": "overview", + "discipline_id": "CSE", + "institute_id": "IITK", + "phase":[{"phase_id":1, "phase_id":2}], + "developers": [ + { + "name": "Dinesh Malviya", + "email": "xyz@gmail.com" + }, + { + "name": "Ashish Ahuja", + "email": "abc@gmail.com" + } + ], + "hosting_info": [ + { + "hosting_status": "hosted", + "hosted_on": "cloud", + "hosted_url": "http://cse14-iiith.vlabs.ac.in" + }, + { + "hosting_status": "hosted", + "hosted_on": "college-cloud", + "hosted_url": "http://cse14-iiith.ac.in" + } + ], + "integration_level": 4, + "assets": [ + { + "asset_type": "logo", + "path": "vlabs.ac.in/images/static/logo.png" + }, + { + "asset_type": "video", + "path": "vlabs.ac.in/video/abc.mkv" + } + ], + "sections": [ + { + "name": "Introduction" + } + + ], + "experiments": [ + "exp123" + ] + + } + } + + data_dict1 = { + "key" : KEY, + "lab": { + "id": "cse03", + "name": "Computer Programming", + "overview": "overview", + "discipline_id": "CSE", + "institute_id": "IITK", + "phase":[{"phase_id":1, "phase_id":2}], + "developers": [ + { + "name": "Dinesh Malviya", + "email": "xyz@gmail.com" + }, + { + "name": "Ashish Ahuja", + "email": "abc@gmail.com" + } + ], + "hosting_info": [ + { + "hosting_status": "hosted", + "hosted_on": "cloud", + "hosted_url": "http://cse14-iiith.vlabs.ac.in" + }, + { + "hosting_status": "hosted", + "hosted_on": "college-cloud", + "hosted_url": "http://cse14-iiith.ac.in" + } + ], + "integration_level": 4, + "assets": [ + { + "asset_type": "image", + "path": "vlabs.ac.in/images/static/logo.png" + }, + { + "asset_type": "video", + "path": "vlabs.ac.in/video/abc.mkv" + } + ], + "sections": [ + { + "name": "Introduction" + } + + ], + "experiments": [ + "exp123" + ] + + } + } + + lab = SystemInterface.add_lab(data_dict) + lab1 = SystemInterface.add_lab(data_dict1) + + labs = SystemInterface.get_labs_by_institute_id("IITK") + + self.assertEqual(labs[0]['institute']['institute_id'], "IITK") + + #+END_SRC + + +** Get Labs by Discipline Id +#+NAME: class_get_labs_by_discipline_id +#+begin_src python + @staticmethod + def get_labs_by_discipline_id(discipline_id): + discipline = System.do("get_discipline_by_discipline_id", + discipline_name=str(discipline_id)) + try: + current_app.logger.debug("running operation get_labs_by_discipline") + labs = System.do("get_labs_by_discipline", discipline=discipline) + current_app.logger.debug("completed operation get_labs_by_discipline") + labs_dict_list = [] + for lab in labs: + lab_x = lab.to_client() + labs_dict_list.append(lab_x) + current_app.logger.debug("got labs") + return labs_dict_list + + except (ArityError, TypeError, NotAuthorizedError, StateError) as err: + current_app.logger.error("Exception = %s" % str(err)) + raise err + + except Exception as err: + current_app.logger.error("Exception = %s" % str(err)) + raise err +#+end_src + +*** TestGetLabsByDisciplineId + #+NAME: test_class_get_labs_by_discipline_id + #+BEGIN_SRC python +class TestGetLabsByDisciplineId(TestCase): + TESTING = True + def create_app(self): + app = create_app(config) + return app + + def setUp(self): + app = self.create_app() + self.app_context = app.app_context() + self.app_context.push() + db.create_all() + + def tearDown(self): + self.app_context.pop() + db.session.remove() + db.drop_all() + + def test_get_labs_by_discipline_id_in_system_interface(self): + print "test_get_labs_by_discipline_id_in_system_interface" + + data_dict = { + 'key' : KEY, + 'hosting_status': 'hosted', + 'hosted_url': 'http://cse14-iiith.vlabs.ac.in', + 'hosted_on': 'cloud' + } + + hosting_info = SystemInterface.add_hosting_info(data_dict) + + data_dict = { + 'key' : KEY, + 'integration_level': 4 + } + + integration_status = SystemInterface.add_integration_status(data_dict) + + + data_dict = { + 'key' : KEY, + 'institute_name': 'IIT Kanpur', + 'institute_id': 'IITK', + "assets": [ + { + "asset_type": "icon", + "path": "vlabs.ac.in/images/static/icon.png" + } + ] + + } + + institute = SystemInterface.add_institute(data_dict) + + data_dict = { + 'key' : KEY, + 'discipline_name': 'Computer Science', + 'discipline_id': 'CSE', + "assets": [ + { + "asset_type": "image", + "path": "vlabs.ac.in/images/static/logo.png" + } + ] + + } + + discipline = SystemInterface.add_discipline(data_dict) + + data_dict = { + 'key' : KEY, + 'name': 'Prof. Dharamaja', + 'email': 'abc@gmail.com' + } + + developer = SystemInterface.add_developer(data_dict) + + data_dict = { + 'key' : KEY, + 'name': 'Procedure' + } + + section = SystemInterface.add_section(data_dict) + + data_dict = { + "key" : KEY, + "experiment": { + "id": "exp123", + "overview": "overview", + "name": "Parallel and distributed processing", + "discipline_id": "CSE", + "institute_id": "IITK", + "developers": [ + { + "name": "Dinesh Malviya", + "email": "xyz@gmail.com" + }, + { + "name": "Ashish Ahuja", + "email": "abc@gmail.com" + } + ], + "hosting_info": [ + { + "hosting_status": "hosted", + "hosted_on": "college-cloud", + "hosted_url": "http://cse14-iiith.ac.in" + } + ], + "integration_level": 4, + "assets": [ + { + "asset_type": "image", + "path": "vlabs.ac.in/images/static/logo.png" + }, + { + "asset_type": "video", + "path": "vlabs.ac.in/video/abc.mkv" + } + ], + "sections": [ + "Introduction", + "Objective", + "Tutorial", + "Illustration", + "Procedure", + "Experiment", + "Observations", + "Assignment", + "References" + ] + } + } + experiment = SystemInterface.add_experiment(data_dict) + + data_dict = { + "key" : KEY, + "lab": { + "id": "cse02", + "name": "Computer Programming", + "overview": "overview", + "discipline_id": "CSE", + "institute_id": "IITK", + "phase":[{"phase_id":1, "phase_id":2}], + "developers": [ + { + "name": "Dinesh Malviya", + "email": "xyz@gmail.com" + }, + { + "name": "Ashish Ahuja", + "email": "abc@gmail.com" + } + ], + "hosting_info": [ + { + "hosting_status": "hosted", + "hosted_on": "cloud", + "hosted_url": "http://cse14-iiith.vlabs.ac.in" + }, + { + "hosting_status": "hosted", + "hosted_on": "college-cloud", + "hosted_url": "http://cse14-iiith.ac.in" + } + ], + "integration_level": 4, + "assets": [ + { + "asset_type": "image", + "path": "vlabs.ac.in/images/static/logo.png" + }, + { + "asset_type": "video", + "path": "vlabs.ac.in/video/abc.mkv" + } + ], + "sections": [ + { + "name": "Introduction" + } + + ], + "experiments": [ + "exp123" + ] + + } + } + + data_dict1 = { + "key" : KEY, + "lab": { + "id": "cse03", + "name": "Computer Programming", + "overview": "overview", + "discipline_id": "CSE", + "institute_id": "IITK", + "phase":[{"phase_id":1, "phase_id":2}], + "developers": [ + { + "name": "Dinesh Malviya", + "email": "xyz@gmail.com" + }, + { + "name": "Ashish Ahuja", + "email": "abc@gmail.com" + } + ], + "hosting_info": [ + { + "hosting_status": "hosted", + "hosted_on": "cloud", + "hosted_url": "http://cse14-iiith.vlabs.ac.in" + }, + { + "hosting_status": "hosted", + "hosted_on": "college-cloud", + "hosted_url": "http://cse14-iiith.ac.in" + } + ], + "integration_level": 4, + "assets": [ + { + "asset_type": "image", + "path": "vlabs.ac.in/images/static/logo.png" + }, + { + "asset_type": "video", + "path": "vlabs.ac.in/video/abc.mkv" + } + ], + "sections": [ + { + "name": "Introduction" + } + ], + "experiments": [ + "exp123" + ] + } + } + + lab = SystemInterface.add_lab(data_dict) + lab1 = SystemInterface.add_lab(data_dict1) + + labs = SystemInterface.get_labs_by_discipline_id("CSE") + + self.assertEqual(labs[0]['discipline']['discipline_id'], "CSE") + + #+END_SRC + + ** Get Labs by Institute #+NAME: class_get_labs_by_institute #+begin_src python @@ -5980,6 +6555,7 @@ class TestUpdateInstitute(TestCase): data_dict1['assets'][0]['path']) #+END_SRC + ** Update Section #+NAME: class_update_section #+begin_src python @@ -6052,6 +6628,7 @@ class TestUpdateSection(TestCase): #+END_SRC + ** Update Discipline #+NAME: class_update_discipline #+begin_src python @@ -6155,6 +6732,7 @@ class TestUpdateDiscipline(TestCase): #+END_SRC + ** Update Hosting_Info #+NAME: class_update_hosting_info #+begin_src python @@ -6237,6 +6815,7 @@ class TestUpdateHosting_Info(TestCase): #+END_SRC + ** Update Developer #+NAME: class_update_developer #+begin_src python @@ -8943,8 +9522,10 @@ if __name__ == '__main__': <> <> <> +<<<> <> <> +<> <> <> <> @@ -9013,8 +9594,10 @@ if __name__ == '__main__': <> <> +<> <> <> +<> <> <> diff --git a/src/runtime/system/system.org b/src/runtime/system/system.org index 7ba58d3..5e2ea04 100755 --- a/src/runtime/system/system.org +++ b/src/runtime/system/system.org @@ -1320,6 +1320,56 @@ class GetInstitute(): +** =GetInstituteByInstituteId= +#+NAME: class_get_institute_by_institute_id +#+begin_src python +class GetInstituteByInstituteId(): + arg_types = {"institute_id": is_int} + arity_and_type_checks_needed = True + + @staticmethod + def auth_check(args): + pass + + @staticmethod + def state_check(args): + pass + + @staticmethod + def action(args): + institute_id = args["institute_id"] + institute = System.delegate.get_institute(institute_id=institute_id) + return institute + +#+end_src + + + + +** =GetDisciplineByDisciplineId= +#+NAME: class_get_discipline_by_discipline_id +#+begin_src python +class GetDisciplineByDisciplineId(): + arg_types = {"discipline_id": is_int} + arity_and_type_checks_needed = True + + @staticmethod + def auth_check(args): + pass + + @staticmethod + def state_check(args): + pass + + @staticmethod + def action(args): + discipline_id = args["discipline_id"] + discipline = System.delegate.get_discipline(discipline_id=discipline_id) + return discipline + +#+end_src + + ** =GetInstituteByInstituteName= #+NAME: class_get_institute_by_institute_name #+begin_src python @@ -2009,6 +2059,8 @@ ops_table = {'add_lab' : AddLab, 'update_lab': UpdateLab, 'delete_lab': DeleteLab, 'get_lab': GetLab, + 'get_institute_by_institute_id': GetInstituteByInstituteId, + 'get_discipline_by_discipline_id':GetDisciplineByDisciplineId, 'get_labs_by_institute': GetLabsByInstitute, 'get_labs_by_discipline' : GetLabsByDiscipline, 'get_labs_by_lab_name': GetLabsByLabName, @@ -2181,6 +2233,8 @@ if __name__ == '__main__': <> <> +<> +<> <> <> <> From f1c04c92664c8dac751655885233724184173035 Mon Sep 17 00:00:00 2001 From: madhavi Date: Mon, 8 Jan 2018 15:50:04 +0530 Subject: [PATCH 097/105] fix test cases in SI while getting labs by discipline id and institute id --- src/runtime/system/system-interface.org | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/runtime/system/system-interface.org b/src/runtime/system/system-interface.org index 909fe78..f2a60f1 100755 --- a/src/runtime/system/system-interface.org +++ b/src/runtime/system/system-interface.org @@ -2583,7 +2583,7 @@ class TestGetLabsByInstituteId(TestCase): @staticmethod def get_labs_by_discipline_id(discipline_id): discipline = System.do("get_discipline_by_discipline_id", - discipline_name=str(discipline_id)) + discipline_id=str(discipline_id)) try: current_app.logger.debug("running operation get_labs_by_discipline") labs = System.do("get_labs_by_discipline", discipline=discipline) @@ -9522,7 +9522,7 @@ if __name__ == '__main__': <> <> <> -<<<> +<> <> <> <> From 4547e93af26b0a5bcdab59fc550bee611287b020 Mon Sep 17 00:00:00 2001 From: madhavi Date: Mon, 8 Jan 2018 15:58:12 +0530 Subject: [PATCH 098/105] update discipline type in system --- src/runtime/system/system-interface.org | 2 +- src/runtime/system/system.org | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/runtime/system/system-interface.org b/src/runtime/system/system-interface.org index f2a60f1..7af986a 100755 --- a/src/runtime/system/system-interface.org +++ b/src/runtime/system/system-interface.org @@ -2289,7 +2289,7 @@ class TestGetLabsByKeywordLabName(TestCase): @staticmethod def get_labs_by_institute_id(institute_id): institute = System.do("get_institute_by_institute_id", - institute_name=str(institute_id)) + institute_id=str(institute_id)) try: current_app.logger.debug("running operation get_labs_by_institute_id") labs = System.do("get_labs_by_institute", institute=institute) diff --git a/src/runtime/system/system.org b/src/runtime/system/system.org index 5e2ea04..1105538 100755 --- a/src/runtime/system/system.org +++ b/src/runtime/system/system.org @@ -1350,7 +1350,7 @@ class GetInstituteByInstituteId(): #+NAME: class_get_discipline_by_discipline_id #+begin_src python class GetDisciplineByDisciplineId(): - arg_types = {"discipline_id": is_int} + arg_types = {"discipline_id": is_str} arity_and_type_checks_needed = True @staticmethod From 243358f5760c3af376307a4f3730ecbfbef6f098 Mon Sep 17 00:00:00 2001 From: madhavi Date: Mon, 8 Jan 2018 16:07:34 +0530 Subject: [PATCH 099/105] update institute type in system --- src/runtime/system/system.org | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/runtime/system/system.org b/src/runtime/system/system.org index 1105538..928be78 100755 --- a/src/runtime/system/system.org +++ b/src/runtime/system/system.org @@ -1324,7 +1324,7 @@ class GetInstitute(): #+NAME: class_get_institute_by_institute_id #+begin_src python class GetInstituteByInstituteId(): - arg_types = {"institute_id": is_int} + arg_types = {"institute_id": is_str} arity_and_type_checks_needed = True @staticmethod From 70fe319d0507346f727ae6b7bcd83963002c97a4 Mon Sep 17 00:00:00 2001 From: madhavi Date: Mon, 8 Jan 2018 16:43:41 +0530 Subject: [PATCH 100/105] add suffix 'name' to get labs by institute and discipline --- src/runtime/rest/api.org | 28 ++++++++++++------------- src/runtime/system/system-interface.org | 24 ++++++++++----------- src/runtime/system/system.org | 4 ++-- 3 files changed, 28 insertions(+), 28 deletions(-) diff --git a/src/runtime/rest/api.org b/src/runtime/rest/api.org index 9b31ea2..94c3268 100755 --- a/src/runtime/rest/api.org +++ b/src/runtime/rest/api.org @@ -1266,7 +1266,7 @@ def get_lab(): institute_name = request.args['institute_name'] try: current_app.logger.debug("running operation get_labs_by_institute") - labs = SystemInterface.get_labs_by_institute(institute_name) + labs = SystemInterface.get_labs_by_institute_name(institute_name) current_app.logger.debug("completed operation get_labs_by_institute") return jsonify_list(labs) @@ -1340,7 +1340,7 @@ def get_lab(): discipline_name = request.args['discipline_name'] try: current_app.logger.debug("running operation get_labs_by_discipline") - labs = SystemInterface.get_labs_by_discipline(discipline_name) + labs = SystemInterface.get_labs_by_discipline_name(discipline_name) current_app.logger.debug("completed operation get_labs_by_discipline") return jsonify_list(labs) @@ -2305,10 +2305,10 @@ class TestGetLabsbyDisciplineId(TestCase): #+END_SRC -**** TestGetLabsbyInstitute -#+NAME: test_get_labs_by_institute +**** TestGetLabsbyInstituteName +#+NAME: test_get_labs_by_institute_name #+BEGIN_SRC python -class TestGetLabsbyInstitute(TestCase): +class TestGetLabsbyInstituteName(TestCase): TESTING = True def create_app(self): app = create_app(config) @@ -2325,8 +2325,8 @@ class TestGetLabsbyInstitute(TestCase): db.session.remove() db.drop_all() - def test_get_labs_by_institute(self): - print "test_get_labs_by_institute_in_rest" + def test_get_labs_by_institute_name(self): + print "test_get_labs_by_institute_name_in_rest" payload = {'asset_type': 'Image', 'path': 'vlabs.ac.in/images/static/logo.png', @@ -2515,10 +2515,10 @@ class TestGetLabsbyInstitute(TestCase): #+END_SRC -**** TestGetLabsbyDiscipline -#+NAME: test_get_labs_by_discipline +**** TestGetLabsbyDisciplineName +#+NAME: test_get_labs_by_discipline_name #+BEGIN_SRC python -class TestGetLabsbyDiscipline(TestCase): +class TestGetLabsbyDisciplineName(TestCase): TESTING = True def create_app(self): app = create_app(config) @@ -2535,8 +2535,8 @@ class TestGetLabsbyDiscipline(TestCase): db.session.remove() db.drop_all() - def test_get_labs_by_discipline(self): - print "test_get_labs_by_discipline_in_rest" + def test_get_labs_by_discipline_name(self): + print "test_get_labs_by_discipline_name_in_rest" payload = {'asset_type': 'Image', 'path': 'vlabs.ac.in/images/static/logo.png', @@ -12818,10 +12818,10 @@ if __name__ == '__main__': <> <> <> -<> +<> <> <> -<> +<> <> <> <> diff --git a/src/runtime/system/system-interface.org b/src/runtime/system/system-interface.org index 7af986a..b8e284c 100755 --- a/src/runtime/system/system-interface.org +++ b/src/runtime/system/system-interface.org @@ -2571,7 +2571,7 @@ class TestGetLabsByInstituteId(TestCase): lab1 = SystemInterface.add_lab(data_dict1) labs = SystemInterface.get_labs_by_institute_id("IITK") - + print len(labs); self.assertEqual(labs[0]['institute']['institute_id'], "IITK") #+END_SRC @@ -2858,16 +2858,16 @@ class TestGetLabsByDisciplineId(TestCase): #+END_SRC -** Get Labs by Institute -#+NAME: class_get_labs_by_institute +** Get Labs by Institute Name +#+NAME: class_get_labs_by_institute_name #+begin_src python @staticmethod - def get_labs_by_institute(institute_name): + def get_labs_by_institute_name(institute_name): institute = System.do("get_institute_by_institute_name", institute_name=str(institute_name)) try: current_app.logger.debug("running operation get_labs_by_institute") - labs = System.do("get_labs_by_institute", institute=institute) + labs = System.do("get_labs_by_institute_name", institute=institute) current_app.logger.debug("completed operation get_labs_by_institute") labs_dict_list = [] for lab in labs: @@ -3152,16 +3152,16 @@ class TestGetLabsByInstitute(TestCase): #+END_SRC -** Get Labs by Discipline -#+NAME: class_get_labs_by_discipline +** Get Labs by Discipline Name +#+NAME: class_get_labs_by_discipline_name #+begin_src python @staticmethod - def get_labs_by_discipline(discipline_name): + def get_labs_by_discipline_name(discipline_name): discipline = System.do("get_discipline_by_discipline_name", discipline_name=str(discipline_name)) try: current_app.logger.debug("running operation get_labs_by_discipline") - labs = System.do("get_labs_by_discipline", discipline=discipline) + labs = System.do("get_labs_by_discipline_name", discipline=discipline) current_app.logger.debug("completed operation get_labs_by_discipline") labs_dict_list = [] for lab in labs: @@ -3180,7 +3180,7 @@ class TestGetLabsByInstitute(TestCase): #+end_src *** TestGetLabsByDiscipline - #+NAME: test_class_get_labs_by_discipline + #+NAME: test_class_get_labs_by_discipline_name #+BEGIN_SRC python class TestGetLabsByDiscipline(TestCase): TESTING = True @@ -9523,10 +9523,10 @@ if __name__ == '__main__': <> <> <> -<> +<> <> <> -<> +<> <> <> <> diff --git a/src/runtime/system/system.org b/src/runtime/system/system.org index 928be78..06efe7a 100755 --- a/src/runtime/system/system.org +++ b/src/runtime/system/system.org @@ -2061,8 +2061,8 @@ ops_table = {'add_lab' : AddLab, 'get_lab': GetLab, 'get_institute_by_institute_id': GetInstituteByInstituteId, 'get_discipline_by_discipline_id':GetDisciplineByDisciplineId, - 'get_labs_by_institute': GetLabsByInstitute, - 'get_labs_by_discipline' : GetLabsByDiscipline, + 'get_labs_by_institute_name': GetLabsByInstitute, + 'get_labs_by_discipline_name' : GetLabsByDiscipline, 'get_labs_by_lab_name': GetLabsByLabName, 'get_discipline': GetDiscipline, 'add_experiment' : AddExperiment, From d8d9fec8e7a6fd1fef856599b96658217b2ca477 Mon Sep 17 00:00:00 2001 From: madhavi Date: Mon, 8 Jan 2018 16:54:20 +0530 Subject: [PATCH 101/105] add suffix 'name' to get labs by institute and discipline in SI --- src/runtime/system/system-interface.org | 28 ++++++++++++------------- src/runtime/system/system.org | 4 ++-- 2 files changed, 16 insertions(+), 16 deletions(-) diff --git a/src/runtime/system/system-interface.org b/src/runtime/system/system-interface.org index b8e284c..1373f12 100755 --- a/src/runtime/system/system-interface.org +++ b/src/runtime/system/system-interface.org @@ -2866,9 +2866,9 @@ class TestGetLabsByDisciplineId(TestCase): institute = System.do("get_institute_by_institute_name", institute_name=str(institute_name)) try: - current_app.logger.debug("running operation get_labs_by_institute") - labs = System.do("get_labs_by_institute_name", institute=institute) - current_app.logger.debug("completed operation get_labs_by_institute") + current_app.logger.debug("running operation get_labs_by_institute_name") + labs = System.do("get_labs_by_institute", institute=institute) + current_app.logger.debug("completed operation get_labs_by_institute_name") labs_dict_list = [] for lab in labs: lab_x = lab.to_client() @@ -2886,9 +2886,9 @@ class TestGetLabsByDisciplineId(TestCase): #+end_src *** TestGetLabsByInstitute - #+NAME: test_class_get_labs_by_institute + #+NAME: test_class_get_labs_by_institute_name #+BEGIN_SRC python -class TestGetLabsByInstitute(TestCase): +class TestGetLabsByInstituteName(TestCase): TESTING = True def create_app(self): app = create_app(config) @@ -2905,8 +2905,8 @@ class TestGetLabsByInstitute(TestCase): db.session.remove() db.drop_all() - def test_get_labs_by_institute_in_system_interface(self): - print "test_get_labs_by_institute_in_system_interface" + def test_get_labs_by_institute_name_in_system_interface(self): + print "test_get_labs_by_institute_name_in_system_interface" data_dict = { 'key' : KEY, @@ -3145,7 +3145,7 @@ class TestGetLabsByInstitute(TestCase): lab = SystemInterface.add_lab(data_dict) lab1 = SystemInterface.add_lab(data_dict1) - labs = SystemInterface.get_labs_by_institute("IIT Kanpur") + labs = SystemInterface.get_labs_by_institute_name("IIT Kanpur") self.assertEqual(labs[0]['institute']['institute_name'], "IIT Kanpur") @@ -3161,7 +3161,7 @@ class TestGetLabsByInstitute(TestCase): discipline_name=str(discipline_name)) try: current_app.logger.debug("running operation get_labs_by_discipline") - labs = System.do("get_labs_by_discipline_name", discipline=discipline) + labs = System.do("get_labs_by_discipline", discipline=discipline) current_app.logger.debug("completed operation get_labs_by_discipline") labs_dict_list = [] for lab in labs: @@ -3199,8 +3199,8 @@ class TestGetLabsByDiscipline(TestCase): db.session.remove() db.drop_all() - def test_get_labs_by_discipline_in_system_interface(self): - print "test_get_labs_by_discipline_in_system_interface" + def test_get_labs_by_discipline_name_in_system_interface(self): + print "test_get_labs_by_discipline_name_in_system_interface" data_dict = { 'key' : KEY, @@ -3426,7 +3426,7 @@ class TestGetLabsByDiscipline(TestCase): lab = SystemInterface.add_lab(data_dict) lab1 = SystemInterface.add_lab(data_dict1) - labs = SystemInterface.get_labs_by_discipline("Computer Science") + labs = SystemInterface.get_labs_by_discipline_name("Computer Science") self.assertEqual(labs[0]['discipline']['discipline_name'], "Computer Science") @@ -9593,11 +9593,11 @@ if __name__ == '__main__': <> <> -<> +<> <> <> -<> <> +<> <> <> diff --git a/src/runtime/system/system.org b/src/runtime/system/system.org index 06efe7a..928be78 100755 --- a/src/runtime/system/system.org +++ b/src/runtime/system/system.org @@ -2061,8 +2061,8 @@ ops_table = {'add_lab' : AddLab, 'get_lab': GetLab, 'get_institute_by_institute_id': GetInstituteByInstituteId, 'get_discipline_by_discipline_id':GetDisciplineByDisciplineId, - 'get_labs_by_institute_name': GetLabsByInstitute, - 'get_labs_by_discipline_name' : GetLabsByDiscipline, + 'get_labs_by_institute': GetLabsByInstitute, + 'get_labs_by_discipline' : GetLabsByDiscipline, 'get_labs_by_lab_name': GetLabsByLabName, 'get_discipline': GetDiscipline, 'add_experiment' : AddExperiment, From fae085792313ae8e39629e8c753546fbb7c28d49 Mon Sep 17 00:00:00 2001 From: mrudhvika940 Date: Tue, 9 Jan 2018 15:40:27 +0530 Subject: [PATCH 102/105] updated realisation plan --- src/realization-plan/index.org | 109 +++++++++++++++++++++++++-------- 1 file changed, 82 insertions(+), 27 deletions(-) diff --git a/src/realization-plan/index.org b/src/realization-plan/index.org index 5274c1a..31982d3 100644 --- a/src/realization-plan/index.org +++ b/src/realization-plan/index.org @@ -13,34 +13,38 @@ realized as series of [[https://github.com/vlead/lab-data-service/milestones?state=closed][milestones]]. * Milestones Snapshot - |---+----+----+-----+--------------------------------------------+------+--------+-----------+----------+--------| - | | S. | Mi | Req | Milestone | Plan | Status | Est | Act | Issues | - | | no | no | Map | | | | hrs | hrs | | - |---+----+----+-----+--------------------------------------------+------+--------+-----------+----------+--------| - | | 1 | [[https://github.com/vlead/lab-data-service/milestone/6][6]] | | [[https://github.com/vlead/lab-data-service/milestone/6][LDS to work with nosql]] | | Open | | | [[https://github.com/vlead/lab-data-service/milestones/Migrating%2520LDS%2520service%2520backend%2520from%2520mysql%2520to%2520nosql%2520(monodb)][ref]] | - |---+----+----+-----+--------------------------------------------+------+--------+-----------+----------+--------| - | | 2 | [[https://github.com/vlead/lab-data-service/milestone/9][9]] | | [[https://github.com/vlead/lab-data-service/milestone/9][Pagination]] | | Closed | | | [[https://github.com/vlead/lab-data-service/milestone/9?closed=1][ref]] | - |---+----+----+-----+--------------------------------------------+------+--------+-----------+----------+--------| - | | 3 | [[https://github.com/vlead/lab-data-service/milestone/8][8]] | | [[https://github.com/vlead/lab-data-service/milestone/8][Update missing labs]] | [[Add information for missing labs][ref]] | Closed | 152 | 96 | [[https://github.com/vlead/lab-data-service/issues?q=is%253Aclosed+milestone%253A%2522Updating+LDS+with+177+Labs+data+and+adding+new+Features%252FEnhancements++%2522][ref]] | - |---+----+----+-----+--------------------------------------------+------+--------+-----------+----------+--------| - | | 4 | [[https://github.com/vlead/lab-data-service/milestone/7][7]] | | [[https://github.com/vlead/lab-data-service/milestone/7][Bug fix release]] | | Closed | | | [[https://github.com/vlead/lab-data-service/issues?q=is%253Aclosed+milestone%253A%2522Bug+fix+release%2522][ref]] | - |---+----+----+-----+--------------------------------------------+------+--------+-----------+----------+--------| - | | 5 | [[https://github.com/vlead/lab-data-service/milestone/5][5]] | | [[https://github.com/vlead/lab-data-service/milestone/5][New specification structure]] | | Closed | | | [[https://github.com/vlead/lab-data-service/issues?q=is%253Aclosed+milestone%253A%2522Enhancements+in+the+LDS+according+to+the+new+lab+specification+structure+-+Release+version+V1.1.0%2522][ref]] | - |---+----+----+-----+--------------------------------------------+------+--------+-----------+----------+--------| - | | 6 | [[https://github.com/vlead/lab-data-service/milestone/4][4]] | | [[https://github.com/vlead/lab-data-service/milestone/4][Address Review Comments]] | | Closed | | | [[https://github.com/vlead/lab-data-service/issues?q=is%253Aclosed+milestone%253A%2522Complete+funtionality+of+Lab+Data+Service+with+the+fixing+of+review+comments%2522][ref]] | - |---+----+----+-----+--------------------------------------------+------+--------+-----------+----------+--------| - | | 7 | [[https://github.com/vlead/lab-data-service/milestone/3][3]] | | [[https://github.com/vlead/lab-data-service/milestone/3][Realize for experiment entity]] | | Closed | | | [[https://github.com/vlead/lab-data-service/issues?q=is%253Aclosed+milestone%253A%2522Next+release+of+Lab+Data+Service+with+experiments+integrated%2522][ref]] | - |---+----+----+-----+--------------------------------------------+------+--------+-----------+----------+--------| - | | 8 | [[https://github.com/vlead/lab-data-service/milestone/2][2]] | | [[https://github.com/vlead/lab-data-service/milestone/2][Capture details of missing labs]] | | Closed | | | [[https://github.com/vlead/lab-data-service/issues?q=is%253Aclosed+milestone%253A%2522Creation+of+Lab-specifications+for+all+the+labs%2522][ref]] | - |---+----+----+-----+--------------------------------------------+------+--------+-----------+----------+--------| - | | 9 | [[https://github.com/vlead/lab-data-service/milestone/1][1]] | | [[https://github.com/vlead/lab-data-service/milestone/1][Create the data model]] | | Closed | | | [[https://github.com/vlead/lab-data-service/issues?q=is%253Aclosed+milestone%253A%2522Lab+data+service+should+able+to+provide+the+search+by+lab+name%252C+institute+and+disciplines%2522][ref]] | - |---+----+----+-----+--------------------------------------------+------+--------+-----------+----------+--------| - | | 10 | [[https://github.com/vlead/lab-data-service/milestone/11][11]] | | [[https://github.com/vlead/lab-data-service/milestone/11][Release & Deployment of LDS Version v3.2.0]] | [[Release and Deployment of LDS Version v3.2.0][ref]] | Open | 78.5 | 44.5 | [[https://github.com/vlead/lab-data-service/milestone/11?closed=1][ref]] | - |---+----+----+-----+--------------------------------------------+------+--------+-----------+----------+--------| - | | | | | Total | | | 152 + m8e | 96 + m8a | | - | ^ | | | | | | | et | at | | - |---+----+----+-----+--------------------------------------------+------+--------+-----------+----------+--------| + |---+----+----+-----+-----------------------------------------------+------+--------+-------+-------+--------| + | | S. | Mi | Req | Milestone | Plan | Status | Est | Act | Issues | + | | no | no | Map | | | | hrs | hrs | | + |---+----+----+-----+-----------------------------------------------+------+--------+-------+-------+--------| + | | 1 | [[https://github.com/vlead/lab-data-service/milestone/6][6]] | | [[https://github.com/vlead/lab-data-service/milestone/6][LDS to work with nosql]] | | Open | | | [[https://github.com/vlead/lab-data-service/milestones/Migrating%2520LDS%2520service%2520backend%2520from%2520mysql%2520to%2520nosql%2520(monodb)][ref]] | + |---+----+----+-----+-----------------------------------------------+------+--------+-------+-------+--------| + | | 2 | [[https://github.com/vlead/lab-data-service/milestone/9][9]] | | [[https://github.com/vlead/lab-data-service/milestone/9][Pagination]] | | Closed | | | [[https://github.com/vlead/lab-data-service/milestone/9?closed=1][ref]] | + |---+----+----+-----+-----------------------------------------------+------+--------+-------+-------+--------| + | | 3 | [[https://github.com/vlead/lab-data-service/milestone/8][8]] | | [[https://github.com/vlead/lab-data-service/milestone/8][Update missing labs]] | [[Add information for missing labs][ref]] | Closed | 152 | 96 | [[https://github.com/vlead/lab-data-service/issues?q=is%253Aclosed+milestone%253A%2522Updating+LDS+with+177+Labs+data+and+adding+new+Features%252FEnhancements++%2522][ref]] | + |---+----+----+-----+-----------------------------------------------+------+--------+-------+-------+--------| + | | 4 | [[https://github.com/vlead/lab-data-service/milestone/7][7]] | | [[https://github.com/vlead/lab-data-service/milestone/7][Bug fix release]] | | Closed | | | [[https://github.com/vlead/lab-data-service/issues?q=is%253Aclosed+milestone%253A%2522Bug+fix+release%2522][ref]] | + |---+----+----+-----+-----------------------------------------------+------+--------+-------+-------+--------| + | | 5 | [[https://github.com/vlead/lab-data-service/milestone/5][5]] | | [[https://github.com/vlead/lab-data-service/milestone/5][New specification structure]] | | Closed | | | [[https://github.com/vlead/lab-data-service/issues?q=is%253Aclosed+milestone%253A%2522Enhancements+in+the+LDS+according+to+the+new+lab+specification+structure+-+Release+version+V1.1.0%2522][ref]] | + |---+----+----+-----+-----------------------------------------------+------+--------+-------+-------+--------| + | | 6 | [[https://github.com/vlead/lab-data-service/milestone/4][4]] | | [[https://github.com/vlead/lab-data-service/milestone/4][Address Review Comments]] | | Closed | | | [[https://github.com/vlead/lab-data-service/issues?q=is%253Aclosed+milestone%253A%2522Complete+funtionality+of+Lab+Data+Service+with+the+fixing+of+review+comments%2522][ref]] | + |---+----+----+-----+-----------------------------------------------+------+--------+-------+-------+--------| + | | 7 | [[https://github.com/vlead/lab-data-service/milestone/3][3]] | | [[https://github.com/vlead/lab-data-service/milestone/3][Realize for experiment entity]] | | Closed | | | [[https://github.com/vlead/lab-data-service/issues?q=is%253Aclosed+milestone%253A%2522Next+release+of+Lab+Data+Service+with+experiments+integrated%2522][ref]] | + |---+----+----+-----+-----------------------------------------------+------+--------+-------+-------+--------| + | | 8 | [[https://github.com/vlead/lab-data-service/milestone/2][2]] | | [[https://github.com/vlead/lab-data-service/milestone/2][Capture details of missing labs]] | | Closed | | | [[https://github.com/vlead/lab-data-service/issues?q=is%253Aclosed+milestone%253A%2522Creation+of+Lab-specifications+for+all+the+labs%2522][ref]] | + |---+----+----+-----+-----------------------------------------------+------+--------+-------+-------+--------| + | | 9 | [[https://github.com/vlead/lab-data-service/milestone/1][1]] | | [[https://github.com/vlead/lab-data-service/milestone/1][Create the data model]] | | Closed | | | [[https://github.com/vlead/lab-data-service/issues?q=is%253Aclosed+milestone%253A%2522Lab+data+service+should+able+to+provide+the+search+by+lab+name%252C+institute+and+disciplines%2522][ref]] | + |---+----+----+-----+-----------------------------------------------+------+--------+-------+-------+--------| + | | 10 | [[https://github.com/vlead/lab-data-service/milestone/11][11]] | | [[https://github.com/vlead/lab-data-service/milestone/11][Release & Deployment of LDS Version v3.2.0]] | [[Release and Deployment of LDS Version v3.2.0][ref]] | Open | 78.5 | 44.5 | [[https://github.com/vlead/lab-data-service/milestone/11?closed=1][ref]] | + |---+----+----+-----+-----------------------------------------------+------+--------+-------+-------+--------| + | | 11 | [[https://github.com/vlead/lab-data-service/milestone/12][12]] | | [[https://github.com/vlead/lab-data-service/milestone/12][Validate/Update lab ids and phase information]] | [[Validate/Update lab ids for all labs and Update phase information of phase II labs][ref]] | Open | 88 | 66 | | + |---+----+----+-----+-----------------------------------------------+------+--------+-------+-------+--------| + | | | | | Total | | | 318.5 | 206.5 | | + | ^ | | | | | | | et | at | | + |---+----+----+-----+-----------------------------------------------+------+--------+-------+-------+--------| #+TBLFM: $2=@#-2 + #+TBLFM: @13$9=remote(tbl-rlz-pln-ml-12, $actual) + #+TBLFM: @13$8=(remote(tbl-rlz-pln-ml-12, $estimated)) #+TBLFM: @12$8=remote(tbl-rlz-pln-ml-11, $estimated) #+TBLFM: @12$9=remote(tbl-rlz-pln-ml-11, $actual) #+TBLFM: @5$8=remote(tbl-rlz-pln-ml-8, $estimated) @@ -142,3 +146,54 @@ #+TBLFM: @5$9=remote(tbl-rlz-pln-ml-11, $actual) #+TBLFM: $estimated=vsum(@II+1..@-1) #+TBLFM: $actual=vsum(@II+1..@-1) +** Validate/Update lab ids for all labs and Update phase information of phase II labs + This [[https://github.com/vlead/lab-data-service/milestone/12][milestone]] includes the following features: + 1. Updating LDS with 179 Labs with new lab IDs data + 2. Add Phase information to the current Schema. + + #+caption: realization-plan-ml-12 + #+name: tbl-rlz-pln-ml-12 + |---+----+-----------------------+--------+-----------+--------+------------+------------+--------+-----------| + | | S. | Tasks | Github | Expected | Actual | Estimated | Actual | Status | Assignee | + | | NO | | Issues | Effort | Effort | Start, | Start/ | | | + | | | | | (in | (in | End | End | | | + | | | | | person | person | Dates | Dates | | | + | | | | | hours) | hours) | | | | | + |---+----+-----------------------+--------+-----------+--------+------------+------------+--------+-----------| + | | 1 | Implement API to get | [[https://github.com/vlead/lab-data-service/issues/121][121]] | 6 | 4 | 03-01-2018 | 03-01-2018 | Done | Madhavi | + | | | labs by discipline id | | | | 03-01-2018 | 03-01-2018 | | | + |---+----+-----------------------+--------+-----------+--------+------------+------------+--------+-----------| + | | 2 | Implement API to get | [[https://github.com/vlead/lab-data-service/issues/122][122]] | 6 | 4 | 03-01-2018 | 03-01-2018 | Done | Madhavi | + | | | labs by institute id | | | | 03-01-2018 | 03-01-2018 | | | + |---+----+-----------------------+--------+-----------+--------+------------+------------+--------+-----------| + | | 3 | Assigning new lab IDs | [[https://github.com/vlead/lab-data-service/issues/116][116]] | 24 | 18 | 04-01-2018 | 04-01-2018 | Done | Madhavi | + | | | to labs | | | | 08-01-2018 | 05-01-2018 | | Sanchita | + | | | | | | | | | | Mrudhvika | + | | | | | | | | | | | + |---+----+-----------------------+--------+-----------+--------+------------+------------+--------+-----------| + | | 4 | Update Asset data in | [[https://github.com/vlead/lab-data-service/issues/120][120]] | 4 | 2 | 08-01-2018 | 08-01-2018 | Done | Mrudhvika | + | | | LDS in file server | | | | 08-01-2018 | 08-01-2018 | | | + | | | | | | | | | | | + | | | | | | | | | | | + |---+----+-----------------------+--------+-----------+--------+------------+------------+--------+-----------| + | | 5 | Update Asset data in | [[https://github.com/vlead/lab-data-service/issues/119][119]] | 38 | 32 | 06-01-2018 | 06-01-2018 | Done | Sanchita | + | | | LDS database with | | | | 08-01-2018 | 08-01-2018 | | Mrudhvika | + | | | updated lab ID's | | | | | | | Madhavi | + |---+----+-----------------------+--------+-----------+--------+------------+------------+--------+-----------| + | | 6 | Update the new | [[https://github.com/vlead/lab-data-service/issues/117][117]] | 2 | 1 | 08-01-2018 | 08-01-2018 | Done | Madhavi | + | | | discipline IDs in | | | | 08-01-2018 | 08-01-2018 | | | + | | | the database | | | | | | | | + |---+----+-----------------------+--------+-----------+--------+------------+------------+--------+-----------| + | | 7 | Collecting the list | [[https://github.com/vlead/lab-data-service/issues/114][114]] | 4 | 2 | 05-01-2018 | 05-01-2018 | Done | Sanchita | + | | | of phase-2 labs | | | | 05-01-2018 | 05-01-2018 | | | + |---+----+-----------------------+--------+-----------+--------+------------+------------+--------+-----------| + | | 8 | populate lab phase | [[https://github.com/vlead/lab-data-service/issues/107][107]] | 4 | 3 | 04-01-2018 | 04-01-2018 | Done | Madhavi | + | | | data | | | | 04-01-2018 | 04-01-2018 | | | + |---+----+-----------------------+--------+-----------+--------+------------+------------+--------+-----------| + | | | Total | | 88 | 66 | | | | | + | ^ | | | | estimated | actual | | | | | + |---+----+-----------------------+--------+-----------+--------+------------+------------+--------+-----------| + #+TBLFM: @5$8=remote(tbl-rlz-pln-ml-12, $estimated) + #+TBLFM: @5$9=remote(tbl-rlz-pln-ml-12, $actual) + #+TBLFM: $estimated=vsum(@II+1..@-1) + #+TBLFM: $actual=vsum(@II+1..@-1) From dba1225c2cea97ade02407a6e01781a42427c5f0 Mon Sep 17 00:00:00 2001 From: ksripathi Date: Thu, 25 Jan 2018 12:28:01 +0530 Subject: [PATCH 103/105] removed nginx stop command --- scripts/labspec.json | 1 - 1 file changed, 1 deletion(-) diff --git a/scripts/labspec.json b/scripts/labspec.json index 032460d..59a375c 100644 --- a/scripts/labspec.json +++ b/scripts/labspec.json @@ -95,7 +95,6 @@ "min_required": "10gb" }, "installer": [ - "service nginx stop", "bash /var/www/deployment/setup.sh", "python /var/www/deployment/setup.py install", "bash /var/www/deployment/configure.sh", From 36b9e6aed7187ba26dd0f1b0651cebf62f36284c Mon Sep 17 00:00:00 2001 From: Thirumal Ravula Date: Fri, 23 Mar 2018 11:37:40 +0000 Subject: [PATCH 104/105] map the response content to a consumer and provide the functionality to get cached data --- src/runtime/rest/api.org | 271 +++++++++++++++++++++++++++++++++++++-- 1 file changed, 257 insertions(+), 14 deletions(-) diff --git a/src/runtime/rest/api.org b/src/runtime/rest/api.org index 94c3268..5a4a93e 100755 --- a/src/runtime/rest/api.org +++ b/src/runtime/rest/api.org @@ -16,7 +16,14 @@ * REST -** Get Labs, Get Lab, Get Labs by institute id, institute name, lab_name, discipline id, discipline name and Get labs by passing lab_name as keyword +** Get of Lab or Labs + get lab by id, get lab by name, get labs by institute, get labs by + discipline, and get labs by keyword and get all labs. All the responses in + this set of API go through a map that adapats the response to the consumer + requesting. Also, all the responses are cached and any further requests + that specifically need these cached values are serviced from these cached + values. + *** API Designs **** Get all labs :PROPERTIES: @@ -127,6 +134,57 @@ http://localhost:5000/labs #+END_EXAMPLE +**** Get all labs for the consumer landing pages and are cached + :PROPERTIES: + :CUSTOM_ID: api_get_all_labs + :END: + - URL :: /labs?cached=&consumer= + + - Method :: GET + + - URL Params :: None + + - Payload :: None + + - Success Response + + Status_Code: 200 + + Contents : + +#+BEGIN_EXAMPLE +[ + { + "phase": [], + "lab_name": "Bioinformatics Virtual Lab I", + "assets": [ + { + "path": "amrita-university-biotech08.png", + "asset_type": { + "asset_type": "image", + "id": "1" + }, + "id": "241" + } + ], + "hosting_info": [ + { + "hosting_status": "hosted", + "hosted_url": "http://vlab.amrita.edu/index.php?sub=3&brch=273", + "hosted_on": "institute", + "id": "22" + } + ] + } +] +#+END_EXAMPLE + + + - Error Response: + + Contents : + {"status" : "error"} + - Example: +#+BEGIN_EXAMPLE +http://localhost:5000/labs?cached=1&consumer=lp +#+END_EXAMPLE **** Get lab by lab_id :PROPERTIES: :CUSTOM_ID: api_get_lab_by_lab_id @@ -566,6 +624,59 @@ http://localhost:5000/labs?discipline_id=cse http://localhost:5000/labs?institute_name=IIIT Hyderabad #+END_EXAMPLE +**** Get labs by institute for a consumer and data that is cached + :PROPERTIES: + :CUSTOM_ID: api_get_lab_by_lab_id + :END: + - URL :: /labs?institute_name=&cached=&consumer= + + - Method :: GET + + - URL Params :: None + + - Payload :: None + + - Success Response + + Status_Code: 200 + + Contents : + +#+BEGIN_EXAMPLE +[ + { + "phase": [], + "lab_name": "Bioinformatics Virtual Lab I", + "assets": [ + { + "path": "amrita-university-biotech08.png", + "asset_type": { + "asset_type": "image", + "id": "1" + }, + "id": "241" + } + ], + "hosting_info": [ + { + "hosting_status": "hosted", + "hosted_url": "http://vlab.amrita.edu/index.php?sub=3&brch=273", + "hosted_on": "institute", + "id": "22" + } + ] + } +] +#+END_EXAMPLE + + + - Error Response: + + Contents : + {"status" : "error"} + + - Example: +#+BEGIN_EXAMPLE +http://localhost:5000/labs?institute_name=Amrita Vishwa Vidyapeetham&cached=1&consumer=lp +#+END_EXAMPLE + **** Get labs by discipline :PROPERTIES: :CUSTOM_ID: api_get_lab_by_lab_id @@ -676,6 +787,63 @@ http://localhost:5000/labs?institute_name=IIIT Hyderabad http://localhost:5000/labs?discipline_name=Computer Science and Engineering #+END_EXAMPLE +**** Get labs by discipline for a consumer and + :PROPERTIES: + :CUSTOM_ID: api_get_lab_by_lab_id + :END: + - URL :: /labs?discipline_name=&cached=&consumer= + + - Method :: GET + + - URL Params :: None + + - Payload :: None + + - Success Response + + Status_Code: 200 + + Contents : + +#+BEGIN_EXAMPLE +[ + { + "phase": [ + { + "id": "1", + "phase_id": 2 + } + ], + "lab_name": "FPGA and Embedded System Lab", + "assets": [ + { + "path": "coepune-cse12.png", + "asset_type": { + "asset_type": "image", + "id": "1" + }, + "id": "260" + } + ], + "hosting_info": [ + { + "hosting_status": "hosted", + "hosted_url": "http://coep.vlab.co.in/index.php?sub=29", + "hosted_on": "institute", + "id": "194" + } + ] + } +] +#+END_EXAMPLE + + + - Error Response: + + Contents : + {"status" : "error"} + + - Example: +#+BEGIN_EXAMPLE +http://192.168.33.13:5000/labs?discipline_name=Computer Science and Engineering&cached=1&consumer=lp" +#+END_EXAMPLE **** Get labs by lab_name :PROPERTIES: :CUSTOM_ID: api_get_lab_by_lab_id @@ -1149,16 +1317,31 @@ http://localhost:5000/labs?keyword_lab_name=data *** Implementation #+NAME: get_lab #+BEGIN_SRC python +cached_labs = None +cached_inst_labs = {} +cached_disc_labs = {} + @api.route('/labs', methods=['GET']) def get_lab(): + consumer = None + cached = None + global cached_labs + global cached_inst_labs + global cached_disc_labs + if request.method == 'GET': + if 'consumer' in request.args: + consumer = request.args['consumer'] + if 'cached' in request.args: + cached = request.args['cached'] + if 'lab_id' in request.args: lab_id = request.args['lab_id'] try: current_app.logger.debug("running operation get_lab") lab = SystemInterface.get_lab(lab_id) current_app.logger.debug("completed operation get_lab") - return jsonify(lab) + return lab_jsonify(lab, consumer) except TypeError as e: current_app.logger.error("Exception = %s" % str(e)) @@ -1193,8 +1376,8 @@ def get_lab(): lab_name = request.args['lab_name'] try: current_app.logger.debug("running operation get_labs_by_lab_name") - labs = SystemInterface.get_labs_by_lab_name(lab_name) - return jsonify(labs) + lab = SystemInterface.get_labs_by_lab_name(lab_name) + return lab_jsonify(lab, consumer) except TypeError as e: current_app.logger.error("Exception = %s" % str(e)) @@ -1231,7 +1414,7 @@ def get_lab(): current_app.logger.debug("running operation get_labs_by_institute_id") labs = SystemInterface.get_labs_by_institute_id(institute_id) current_app.logger.debug("completed operation get_labs_by_institute_id") - return jsonify_list(labs) + return lab_jsonify(labs, consumer) except TypeError as e: current_app.logger.error("Exception = %s" % str(e)) @@ -1266,9 +1449,13 @@ def get_lab(): institute_name = request.args['institute_name'] try: current_app.logger.debug("running operation get_labs_by_institute") - labs = SystemInterface.get_labs_by_institute_name(institute_name) + if cached == "1" and institute_name in cached_inst_labs.keys(): + labs = cached_inst_labs[institute_name] + else: + labs = SystemInterface.get_labs_by_institute_name(institute_name) + cached_inst_labs[institute_name] = labs current_app.logger.debug("completed operation get_labs_by_institute") - return jsonify_list(labs) + return lab_jsonify(labs, consumer) except TypeError as e: current_app.logger.error("Exception = %s" % str(e)) @@ -1305,7 +1492,7 @@ def get_lab(): current_app.logger.debug("running operation get_labs_by_discipline_id") labs = SystemInterface.get_labs_by_discipline_id(discipline_id) current_app.logger.debug("completed operation get_labs_by_discipline_id") - return jsonify_list(labs) + return lab_jsonify(labs, consumer) except TypeError as e: current_app.logger.error("Exception = %s" % str(e)) @@ -1340,9 +1527,13 @@ def get_lab(): discipline_name = request.args['discipline_name'] try: current_app.logger.debug("running operation get_labs_by_discipline") - labs = SystemInterface.get_labs_by_discipline_name(discipline_name) + if cached == "1" and discipline_name in cached_disc_labs.keys(): + labs = cached_disc_labs[discipline_name] + else: + labs = SystemInterface.get_labs_by_discipline_name(discipline_name) + cached_disc_labs[discipline_name] = labs current_app.logger.debug("completed operation get_labs_by_discipline") - return jsonify_list(labs) + return lab_jsonify(labs, consumer) except TypeError as e: current_app.logger.error("Exception = %s" % str(e)) @@ -1381,7 +1572,7 @@ def get_lab(): labs = SystemInterface.get_labs_by_keyword_lab_name(keyword) current_app.logger.debug("completed operation get_labs_by_" " keyword_lab_name") - return jsonify_list(labs) + return lab_jsonify(labs, consumer) except TypeError as e: current_app.logger.error("Exception = %s" % str(e)) @@ -1414,10 +1605,14 @@ def get_lab(): else: try: - current_app.logger.debug("running operation get_labs") - labs = SystemInterface.get_labs() + current_app.logger.debug("running operation get_labs") + if cached == "1" and cached_labs != None: + labs = cached_labs + else: + labs = SystemInterface.get_labs() + cached_labs = labs current_app.logger.debug("completed operation get_labs") - return jsonify_list(labs) + return lab_jsonify(labs, consumer) except TypeError as e: current_app.logger.error("Exception = %s" % str(e)) @@ -12705,6 +12900,53 @@ class TestDeleteAsset(TestCase): #+END_SRC +* Utils +** Choose the right contents of lab + Currently, the data of entire lab is sent back. + Sometimes, this entire information is not required. This + utility chooses the right information based on the + consumer of the response. For each consumer there is a + map function that structures the lab information + sufficient for that consumer. For example, landing pages + require, lab name, hosted url and image url. When the + consumer is landing pages, only this information is sent. + + +** Implementation +#+name: lab_jsonify +#+BEGIN_SRC python +def lab_jsonify(lab_or_labs, consumer): + is_labs_list = None + mapped_labs = None + + if lab_or_labs.__class__.__name__ != 'list': + labs = [lab_or_labs] + is_labs_list = False + else: + labs = lab_or_labs + is_labs_list = True + + if consumer == "lp": + mapped_labs = list(map(structure_for_lp, labs)) + elif consumer == None: + mapped_labs = labs + + if is_labs_list: + return jsonify_list(mapped_labs) + else: + return jsonify(mapped_labs[0]) + + +def structure_for_lp(lab): + return {'lab_name':lab['lab_name'], + 'hosting_info': lab['hosting_info'], + 'assets': lab['assets'], + 'phase': lab['phase'] + } + +#+END_SRC + + * Infra :boilerplate: ** sources @@ -12762,6 +13004,7 @@ if __name__ == '__main__': ** sources #+BEGIN_SRC python :tangle api.py :eval no :noweb yes <> +<> <> <> <> From 1c453db9fd0f93ce60161f6be7748b4aa1cb8380 Mon Sep 17 00:00:00 2001 From: root Date: Mon, 23 Apr 2018 12:43:45 +0000 Subject: [PATCH 105/105] added licensing file --- license.org | 862 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 862 insertions(+) create mode 100644 license.org diff --git a/license.org b/license.org new file mode 100644 index 0000000..4d1d017 --- /dev/null +++ b/license.org @@ -0,0 +1,862 @@ +#+TITLE: Licensing policy at VLEAD +#+AUTHOR: VLEAD +#+DATE: [2018-04-11 Wed] +#+SETUPFILE: ./org-templates/level-0.org +#+TAGS: boilerplate(b) lu tsk txt sup +#+EXCLUDE_TAGS: boilerplate +#+OPTIONS: ^:nil' prop:t + + +* Introduction + This document provides information on the licenses used at + Virtual Labs. + +* Content Licensing + All content of Virtual Labs is licensed under + [[https://creativecommons.org/licenses/by-nc-sa/4.0/][Attribution-NonCommercial-ShareAlike 4.0 International (CC BY-NC-SA 4.0)]]. + +** License content + Attribution-NonCommercial-ShareAlike 4.0 International + (CC BY-NC-SA 4.0) This is a human-readable summary of + (and not a substitute for) the license. Disclaimer. You + are free to: + + Share - copy and redistribute the material in any medium + or format + + Adapt - remix, transform, and build upon the material + + The licensor cannot revoke these freedoms as long as you + follow the license terms. + + + Under the following terms: + + Attribution - You must give appropriate credit, provide a + link to the license, and indicate if changes were + made. You may do so in any reasonable manner, but not in + any way that suggests the licensor endorses you or your + use. + + NonCommercial - You may not use the material for + commercial purposes. + + ShareAlike - If you remix, transform, or build upon the + material, you must distribute your contributions under + the same license as the original. + + No additional restrictions - You may not apply legal + terms or technological measures that legally restrict + others from doing anything the license permits. + + Notices: + + You do not have to comply with the license for elements + of the material in the public domain or where your use + is permitted by an applicable exception or limitation. + No warranties are given. The license may not give you + all of the permissions necessary for your intended + use. For example, other rights such as publicity, + privacy, or moral rights may limit how you use the + material. + +* Software Licensing + Virtual Labs software - experiments, platform and + services - is licensed under [[https://www.gnu.org/licenses/agpl-3.0.en.html][GNU AFFERO GENERAL PUBLIC LICENSE, Version 3(AGPL-3.0))]] + +** License Content + GNU AFFERO GENERAL PUBLIC LICENSE + + Version 3, 19 November 2007 + + Copyright © 2007 Free Software Foundation, + Inc. Everyone is permitted to copy and + distribute verbatim copies of this license document, but + changing it is not allowed. + + *Preamble* + + The GNU Affero General Public License is a free, copyleft + license for software and other kinds of works, + specifically designed to ensure cooperation with the + community in the case of network server software. + + The licenses for most software and other practical works + are designed to take away your freedom to share and + change the works. By contrast, our General Public + Licenses are intended to guarantee your freedom to share + and change all versions of a program--to make sure it + remains free software for all its users. + + When we speak of free software, we are referring to + freedom, not price. Our General Public Licenses are + designed to make sure that you have the freedom to + distribute copies of free software (and charge for them + if you wish), that you receive source code or can get it + if you want it, that you can change the software or use + pieces of it in new free programs, and that you know you + can do these things. + + Developers that use our General Public Licenses protect + your rights with two steps: (1) assert copyright on the + software, and (2) offer you this License which gives you + legal permission to copy, distribute and/or modify the + software. + + A secondary benefit of defending all users' freedom is + that improvements made in alternate versions of the + program, if they receive widespread use, become available + for other developers to incorporate. Many developers of + free software are heartened and encouraged by the + resulting cooperation. However, in the case of software + used on network servers, this result may fail to come + about. The GNU General Public License permits making a + modified version and letting the public access it on a + server without ever releasing its source code to the + public. + + The GNU Affero General Public License is designed + specifically to ensure that, in such cases, the modified + source code becomes available to the community. It + requires the operator of a network server to provide the + source code of the modified version running there to the + users of that server. Therefore, public use of a modified + version, on a publicly accessible server, gives the + public access to the source code of the modified version. + + An older license, called the Affero General Public + License and published by Affero, was designed to + accomplish similar goals. This is a different license, + not a version of the Affero GPL, but Affero has released + a new version of the Affero GPL which permits relicensing + under this license. + + The precise terms and conditions for copying, + distribution and modification follow. + + + *TERMS AND CONDITIONS* + + +*** 0. Definitions. + + "This License" refers to version 3 of the GNU Affero + General Public License. + + "Copyright" also means copyright-like laws that apply to + other kinds of works, such as semiconductor masks. + + "The Program" refers to any copyrightable work licensed + under this License. Each licensee is addressed as + "you". "Licensees" and "recipients" may be individuals or + organizations. + + To "modify" a work means to copy from or adapt all or + part of the work in a fashion requiring copyright + permission, other than the making of an exact copy. The + resulting work is called a "modified version" of the + earlier work or a work "based on" the earlier work. + + A "covered work" means either the unmodified Program or a + work based on the Program. + + To "propagate" a work means to do anything with it that, + without permission, would make you directly or + secondarily liable for infringement under applicable + copyright law, except executing it on a computer or + modifying a private copy. Propagation includes copying, + distribution (with or without modification), making + available to the public, and in some countries other + activities as well. + + To "convey" a work means any kind of propagation that + enables other parties to make or receive copies. Mere + interaction with a user through a computer network, with + no transfer of a copy, is not conveying. + + An interactive user interface displays "Appropriate Legal + Notices" to the extent that it includes a convenient and + prominently visible feature that (1) displays an + appropriate copyright notice, and (2) tells the user that + there is no warranty for the work (except to the extent + that warranties are provided), that licensees may convey + the work under this License, and how to view a copy of + this License. If the interface presents a list of user + commands or options, such as a menu, a prominent item in + the list meets this criterion. + +*** 1. Source Code. + + The "source code" for a work means the preferred form of + the work for making modifications to it. "Object code" + means any non-source form of a work. + + A "Standard Interface" means an interface that either is + an official standard defined by a recognized standards + body, or, in the case of interfaces specified for a + particular programming language, one that is widely used + among developers working in that language. + + The "System Libraries" of an executable work include + anything, other than the work as a whole, that (a) is + included in the normal form of packaging a Major + Component, but which is not part of that Major Component, + and (b) serves only to enable use of the work with that + Major Component, or to implement a Standard Interface for + which an implementation is available to the public in + source code form. A "Major Component", in this context, + means a major essential component (kernel, window system, + and so on) of the specific operating system (if any) on + which the executable work runs, or a compiler used to + produce the work, or an object code interpreter used to + run it. + + The "Corresponding Source" for a work in object code form + means all the source code needed to generate, install, + and (for an executable work) run the object code and to + modify the work, including scripts to control those + activities. However, it does not include the work's + System Libraries, or general-purpose tools or generally + available free programs which are used unmodified in + performing those activities but which are not part of the + work. For example, Corresponding Source includes + interface definition files associated with source files + for the work, and the source code for shared libraries + and dynamically linked subprograms that the work is + specifically designed to require, such as by intimate + data communication or control flow between those + subprograms and other parts of the work. + + The Corresponding Source need not include anything that + users can regenerate automatically from other parts of + the Corresponding Source. + + The Corresponding Source for a work in source code form + is that same work. + + +*** 2. Basic Permissions. + + All rights granted under this License are granted for the + term of copyright on the Program, and are irrevocable + provided the stated conditions are met. This License + explicitly affirms your unlimited permission to run the + unmodified Program. The output from running a covered + work is covered by this License only if the output, given + its content, constitutes a covered work. This License + acknowledges your rights of fair use or other equivalent, + as provided by copyright law. + + You may make, run and propagate covered works that you do + not convey, without conditions so long as your license + otherwise remains in force. You may convey covered works + to others for the sole purpose of having them make + modifications exclusively for you, or provide you with + facilities for running those works, provided that you + comply with the terms of this License in conveying all + material for which you do not control copyright. Those + thus making or running the covered works for you must do + so exclusively on your behalf, under your direction and + control, on terms that prohibit them from making any + copies of your copyrighted material outside their + relationship with you. + + Conveying under any other circumstances is permitted + solely under the conditions stated below. Sublicensing is + not allowed; section 10 makes it unnecessary. + +*** 3. Protecting Users' Legal Rights From Anti-Circumvention Law. + + No covered work shall be deemed part of an effective + technological measure under any applicable law fulfilling + obligations under article 11 of the WIPO copyright treaty + adopted on 20 December 1996, or similar laws prohibiting + or restricting circumvention of such measures. + + When you convey a covered work, you waive any legal power + to forbid circumvention of technological measures to the + extent such circumvention is effected by exercising + rights under this License with respect to the covered + work, and you disclaim any intention to limit operation + or modification of the work as a means of enforcing, + against the work's users, your or third parties' legal + rights to forbid circumvention of technological measures. + +*** 4. Conveying Verbatim Copies. + + You may convey verbatim copies of the Program's source + code as you receive it, in any medium, provided that you + conspicuously and appropriately publish on each copy an + appropriate copyright notice; keep intact all notices + stating that this License and any non-permissive terms + added in accord with section 7 apply to the code; keep + intact all notices of the absence of any warranty; and + give all recipients a copy of this License along with the + Program. + + You may charge any price or no price for each copy that + you convey, and you may offer support or warranty + protection for a fee. + +*** 5. Conveying Modified Source Versions. + + You may convey a work based on the Program, or the + modifications to produce it from the Program, in the form + of source code under the terms of section 4, provided + that you also meet all of these conditions: + + - a) The work must carry prominent notices stating that + you modified it, and giving a relevant date. + + - b) The work must carry prominent notices stating that it + is released under this License and any conditions added + under section 7. This requirement modifies the + requirement in section 4 to "keep intact all notices". + + - c) You must license the entire work, as a whole, under + this License to anyone who comes into possession of a + copy. This License will therefore apply, along with any + applicable section 7 additional terms, to the whole of + the work, and all its parts, regardless of how they are + packaged. This License gives no permission to license + the work in any other way, but it does not invalidate + such permission if you have separately received it. + + - d) If the work has interactive user interfaces, each + must display Appropriate Legal Notices; however, if the + Program has interactive interfaces that do not display + Appropriate Legal Notices, your work need not make them + do so. + + A compilation of a covered work with other separate and + independent works, which are not by their nature + extensions of the covered work, and which are not + combined with it such as to form a larger program, in or + on a volume of a storage or distribution medium, is + called an "aggregate" if the compilation and its + resulting copyright are not used to limit the access or + legal rights of the compilation's users beyond what the + individual works permit. Inclusion of a covered work in + an aggregate does not cause this License to apply to the + other parts of the aggregate. + +*** 6. Conveying Non-Source Forms. + + You may convey a covered work in object code form under + the terms of sections 4 and 5, provided that you also + convey the machine-readable Corresponding Source under + the terms of this License, in one of these ways: + + - a) Convey the object code in, or embodied in, a + physical product (including a physical distribution + medium), accompanied by the Corresponding Source fixed + on a durable physical medium customarily used for + software interchange. + + - b) Convey the object code in, or embodied in, a + physical product (including a physical distribution + medium), accompanied by a written offer, valid for at + least three years and valid for as long as you offer + spare parts or customer support for that product model, + to give anyone who possesses the object code either (1) + a copy of the Corresponding Source for all the software + in the product that is covered by this License, on a + durable physical medium customarily used for software + interchange, for a price no more than your reasonable + cost of physically performing this conveying of source, + or (2) access to copy the Corresponding Source from a + network server at no charge. + + - c) Convey individual copies of the object code with a + copy of the written offer to provide the Corresponding + Source. This alternative is allowed only occasionally + and noncommercially, and only if you received the + object code with such an offer, in accord with + subsection 6b. + + - d) Convey the object code by offering access from a + designated place (gratis or for a charge), and offer + equivalent access to the Corresponding Source in the + same way through the same place at no further + charge. You need not require recipients to copy the + Corresponding Source along with the object code. If the + place to copy the object code is a network server, the + Corresponding Source may be on a different server + (operated by you or a third party) that supports + equivalent copying facilities, provided you maintain + clear directions next to the object code saying where + to find the Corresponding Source. Regardless of what + server hosts the Corresponding Source, you remain + obligated to ensure that it is available for as long as + needed to satisfy these requirements. + + - e) Convey the object code using peer-to-peer + transmission, provided you inform other peers where the + object code and Corresponding Source of the work are + being offered to the general public at no charge under + subsection 6d. + + A separable portion of the object code, whose source code + is excluded from the Corresponding Source as a System + Library, need not be included in conveying the object + code work. + + A "User Product" is either (1) a "consumer product", + which means any tangible personal property which is + normally used for personal, family, or household + purposes, or (2) anything designed or sold for + incorporation into a dwelling. In determining whether a + product is a consumer product, doubtful cases shall be + resolved in favor of coverage. For a particular product + received by a particular user, "normally used" refers to + a typical or common use of that class of product, + regardless of the status of the particular user or of the + way in which the particular user actually uses, or + expects or is expected to use, the product. A product is + a consumer product regardless of whether the product has + substantial commercial, industrial or non-consumer uses, + unless such uses represent the only significant mode of + use of the product. + + "Installation Information" for a User Product means any + methods, procedures, authorization keys, or other + information required to install and execute modified + versions of a covered work in that User Product from a + modified version of its Corresponding Source. The + information must suffice to ensure that the continued + functioning of the modified object code is in no case + prevented or interfered with solely because modification + has been made. + + If you convey an object code work under this section in, + or with, or specifically for use in, a User Product, and + the conveying occurs as part of a transaction in which + the right of possession and use of the User Product is + transferred to the recipient in perpetuity or for a fixed + term (regardless of how the transaction is + characterized), the Corresponding Source conveyed under + this section must be accompanied by the Installation + Information. But this requirement does not apply if + neither you nor any third party retains the ability to + install modified object code on the User Product (for + example, the work has been installed in ROM). + + The requirement to provide Installation Information does + not include a requirement to continue to provide support + service, warranty, or updates for a work that has been + modified or installed by the recipient, or for the User + Product in which it has been modified or + installed. Access to a network may be denied when the + modification itself materially and adversely affects the + operation of the network or violates the rules and + protocols for communication across the network. + + Corresponding Source conveyed, and Installation + Information provided, in accord with this section must be + in a format that is publicly documented (and with an + implementation available to the public in source code + form), and must require no special password or key for + unpacking, reading or copying. + +*** 7. Additional Terms. + + "Additional permissions" are terms that supplement the + terms of this License by making exceptions from one or + more of its conditions. Additional permissions that are + applicable to the entire Program shall be treated as + though they were included in this License, to the extent + that they are valid under applicable law. If additional + permissions apply only to part of the Program, that part + may be used separately under those permissions, but the + entire Program remains governed by this License without + regard to the additional permissions. + + When you convey a copy of a covered work, you may at your + option remove any additional permissions from that copy, + or from any part of it. (Additional permissions may be + written to require their own removal in certain cases + when you modify the work.) You may place additional + permissions on material, added by you to a covered work, + for which you have or can give appropriate copyright + permission. + + Notwithstanding any other provision of this License, for + material you add to a covered work, you may (if + authorized by the copyright holders of that material) + supplement the terms of this License with terms: + + - a) Disclaiming warranty or limiting liability + differently from the terms of sections 15 and 16 of + this License; or + + - b) Requiring preservation of specified reasonable legal + notices or author attributions in that material or in + the Appropriate Legal Notices displayed by works + containing it; or + + - c) Prohibiting misrepresentation of the origin of that + material, or requiring that modified versions of such + material be marked in reasonable ways as different from + the original version; or + + - d) Limiting the use for publicity purposes of names of + licensors or authors of the material; or + + - e) Declining to grant rights under trademark law for + use of some trade names, trademarks, or service marks; + or + + - f) Requiring indemnification of licensors and authors + of that material by anyone who conveys the material (or + modified versions of it) with contractual assumptions + of liability to the recipient, for any liability that + these contractual assumptions directly impose on those + licensors and authors. + + All other non-permissive additional terms are considered + "further restrictions" within the meaning of + section 10. If the Program as you received it, or any + part of it, contains a notice stating that it is governed + by this License along with a term that is a further + restriction, you may remove that term. If a license + document contains a further restriction but permits + relicensing or conveying under this License, you may add + to a covered work material governed by the terms of that + license document, provided that the further restriction + does not survive such relicensing or conveying. + + If you add terms to a covered work in accord with this + section, you must place, in the relevant source files, a + statement of the additional terms that apply to those + files, or a notice indicating where to find the + applicable terms. + + Additional terms, permissive or non-permissive, may be + stated in the form of a separately written license, or + stated as exceptions; the above requirements apply either + way. + + +*** 8. Termination. + + You may not propagate or modify a covered work except as + expressly provided under this License. Any attempt + otherwise to propagate or modify it is void, and will + automatically terminate your rights under this License + (including any patent licenses granted under the third + paragraph of section 11). + + However, if you cease all violation of this License, then + your license from a particular copyright holder is + reinstated (a) provisionally, unless and until the + copyright holder explicitly and finally terminates your + license, and (b) permanently, if the copyright holder + fails to notify you of the violation by some reasonable + means prior to 60 days after the cessation. + + Moreover, your license from a particular copyright holder + is reinstated permanently if the copyright holder + notifies you of the violation by some reasonable means, + this is the first time you have received notice of + violation of this License (for any work) from that + copyright holder, and you cure the violation prior to 30 + days after your receipt of the notice. + + Termination of your rights under this section does not + terminate the licenses of parties who have received + copies or rights from you under this License. If your + rights have been terminated and not permanently + reinstated, you do not qualify to receive new licenses + for the same material under section 10. + + +*** 9. Acceptance Not Required for Having Copies. + + You are not required to accept this License in order to + receive or run a copy of the Program. Ancillary + propagation of a covered work occurring solely as a + consequence of using peer-to-peer transmission to receive + a copy likewise does not require acceptance. However, + nothing other than this License grants you permission to + propagate or modify any covered work. These actions + infringe copyright if you do not accept this + License. Therefore, by modifying or propagating a covered + work, you indicate your acceptance of this License to do + so. + +*** 10. Automatic Licensing of Downstream Recipients. + + Each time you convey a covered work, the recipient + automatically receives a license from the original + licensors, to run, modify and propagate that work, + subject to this License. You are not responsible for + enforcing compliance by third parties with this License. + + An "entity transaction" is a transaction transferring + control of an organization, or substantially all assets + of one, or subdividing an organization, or merging + organizations. If propagation of a covered work results + from an entity transaction, each party to that + transaction who receives a copy of the work also receives + whatever licenses to the work the party's predecessor in + interest had or could give under the previous paragraph, + plus a right to possession of the Corresponding Source of + the work from the predecessor in interest, if the + predecessor has it or can get it with reasonable efforts. + + You may not impose any further restrictions on the + exercise of the rights granted or affirmed under this + License. For example, you may not impose a license fee, + royalty, or other charge for exercise of rights granted + under this License, and you may not initiate litigation + (including a cross-claim or counterclaim in a lawsuit) + alleging that any patent claim is infringed by making, + using, selling, offering for sale, or importing the + Program or any portion of it. + +*** 11. Patents. + + A "contributor" is a copyright holder who authorizes use + under this License of the Program or a work on which the + Program is based. The work thus licensed is called the + contributor's "contributor version". + + A contributor's "essential patent claims" are all patent + claims owned or controlled by the contributor, whether + already acquired or hereafter acquired, that would be + infringed by some manner, permitted by this License, of + making, using, or selling its contributor version, but do + not include claims that would be infringed only as a + consequence of further modification of the contributor + version. For purposes of this definition, "control" + includes the right to grant patent sublicenses in a + manner consistent with the requirements of this License. + + Each contributor grants you a non-exclusive, worldwide, + royalty-free patent license under the contributor's + essential patent claims, to make, use, sell, offer for + sale, import and otherwise run, modify and propagate the + contents of its contributor version. + + In the following three paragraphs, a "patent license" is + any express agreement or commitment, however denominated, + not to enforce a patent (such as an express permission to + practice a patent or covenant not to sue for patent + infringement). To "grant" such a patent license to a + party means to make such an agreement or commitment not + to enforce a patent against the party. + + If you convey a covered work, knowingly relying on a + patent license, and the Corresponding Source of the work + is not available for anyone to copy, free of charge and + under the terms of this License, through a publicly + available network server or other readily accessible + means, then you must either (1) cause the Corresponding + Source to be so available, or (2) arrange to deprive + yourself of the benefit of the patent license for this + particular work, or (3) arrange, in a manner consistent + with the requirements of this License, to extend the + patent license to downstream recipients. "Knowingly + relying" means you have actual knowledge that, but for + the patent license, your conveying the covered work in a + country, or your recipient's use of the covered work in a + country, would infringe one or more identifiable patents + in that country that you have reason to believe are + valid. + + If, pursuant to or in connection with a single + transaction or arrangement, you convey, or propagate by + procuring conveyance of, a covered work, and grant a + patent license to some of the parties receiving the + covered work authorizing them to use, propagate, modify + or convey a specific copy of the covered work, then the + patent license you grant is automatically extended to all + recipients of the covered work and works based on it. + + A patent license is "discriminatory" if it does not + include within the scope of its coverage, prohibits the + exercise of, or is conditioned on the non-exercise of one + or more of the rights that are specifically granted under + this License. You may not convey a covered work if you + are a party to an arrangement with a third party that is + in the business of distributing software, under which you + make payment to the third party based on the extent of + your activity of conveying the work, and under which the + third party grants, to any of the parties who would + receive the covered work from you, a discriminatory + patent license (a) in connection with copies of the + covered work conveyed by you (or copies made from those + copies), or (b) primarily for and in connection with + specific products or compilations that contain the + covered work, unless you entered into that arrangement, + or that patent license was granted, prior to 28 + March 2007. + + Nothing in this License shall be construed as excluding + or limiting any implied license or other defenses to + infringement that may otherwise be available to you under + applicable patent law. + +*** 12. No Surrender of Others' Freedom. + + If conditions are imposed on you (whether by court order, + agreement or otherwise) that contradict the conditions of + this License, they do not excuse you from the conditions + of this License. If you cannot convey a covered work so + as to satisfy simultaneously your obligations under this + License and any other pertinent obligations, then as a + consequence you may not convey it at all. For example, if + you agree to terms that obligate you to collect a royalty + for further conveying from those to whom you convey the + Program, the only way you could satisfy both those terms + and this License would be to refrain entirely from + conveying the Program. + +*** 13. Remote Network Interaction; Use with the GNU General Public License. + + Notwithstanding any other provision of this License, if + you modify the Program, your modified version must + prominently offer all users interacting with it remotely + through a computer network (if your version supports such + interaction) an opportunity to receive the Corresponding + Source of your version by providing access to the + Corresponding Source from a network server at no charge, + through some standard or customary means of facilitating + copying of software. This Corresponding Source shall + include the Corresponding Source for any work covered by + version 3 of the GNU General Public License that is + incorporated pursuant to the following paragraph. + + Notwithstanding any other provision of this License, you + have permission to link or combine any covered work with a + work licensed under version 3 of the GNU General Public + License into a single combined work, and to convey the + resulting work. The terms of this License will continue to + apply to the part which is the covered work, but the work + with which it is combined will remain governed by version + 3 of the GNU General Public License. + + +*** 14. Revised Versions of this License. + + The Free Software Foundation may publish revised and/or + new versions of the GNU Affero General Public License from + time to time. Such new versions will be similar in spirit + to the present version, but may differ in detail to + address new problems or concerns. + + Each version is given a distinguishing version number. If + the Program specifies that a certain numbered version of + the GNU Affero General Public License "or any later + version" applies to it, you have the option of following + the terms and conditions either of that numbered version + or of any later version published by the Free Software + Foundation. If the Program does not specify a version + number of the GNU Affero General Public License, you may + choose any version ever published by the Free Software + Foundation. + + If the Program specifies that a proxy can decide which + future versions of the GNU Affero General Public License + can be used, that proxy's public statement of acceptance + of a version permanently authorizes you to choose that + version for the Program. + + Later license versions may give you additional or + different permissions. However, no additional obligations + are imposed on any author or copyright holder as a result + of your choosing to follow a later version. + +*** 15. Disclaimer of Warranty. + + THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT + PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED + IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES + PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, + EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED + TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE + QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD + THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL + NECESSARY SERVICING, REPAIR OR CORRECTION. + + +*** 16. Limitation of Liability. + + IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO + IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY + WHO MODIFIES AND/OR CONVEYS THE PROGRAM AS PERMITTED + ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY + GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES + ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM + (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING + RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD + PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY + OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS + BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. + +*** 17. Interpretation of Sections 15 and 16. + + If the disclaimer of warranty and limitation of liability + provided above cannot be given local legal effect + according to their terms, reviewing courts shall apply + local law that most closely approximates an absolute + waiver of all civil liability in connection with the + Program, unless a warranty or assumption of liability + accompanies a copy of the Program in return for a fee. + + END OF TERMS AND CONDITIONS + + + *How to Apply These Terms to Your New Programs* + + If you develop a new program, and you want it to be of the + greatest possible use to the public, the best way to + achieve this is to make it free software which everyone + can redistribute and change under these terms. + + To do so, attach the following notices to the program. It + is safest to attach them to the start of each source file + to most effectively state the exclusion of warranty; and + each file should have at least the "copyright" line and a + pointer to where the full notice is found. + +#+BEGIN_EXAMPLE + Copyright (C) + + This program is free software: you can redistribute it + and/or modify it under the terms of the GNU Affero + General Public License as published by the Free Software + Foundation, either version 3 of the License, or (at your + option) any later version. + + This program is distributed in the hope that it will be + useful, but WITHOUT ANY WARRANTY; without even the + implied warranty of MERCHANTABILITY or FITNESS FOR A + PARTICULAR PURPOSE. See the GNU Affero General Public + License for more details. + + You should have received a copy of the GNU Affero + General Public License along with this program. If not, + see . + +#+END_EXAMPLE + + Also add information on how to contact you by electronic + and paper mail. + + If your software can interact with users remotely through + a computer network, you should also make sure that it + provides a way for users to get its source. For example, + if your program is a web application, its interface could + display a "Source" link that leads users to an archive of + the code. There are many ways you could offer source, and + different solutions will be better for different programs; + see section 13 for the specific requirements. + + You should also get your employer (if you work as a + programmer) or school, if any, to sign a "copyright + disclaimer" for the program, if necessary. For more + information on this, and how to apply and follow the GNU + AGPL, see .