diff --git "a/files/SwissImpex_F\303\251vrier-1989_2709.0090.csv" "b/files/SwissImpex_F\303\251vrier-1989_2709.0090.csv" new file mode 100644 index 0000000000000000000000000000000000000000..796d32011ee7382c75c91ca3aedd2dacdafbb409 --- /dev/null +++ "b/files/SwissImpex_F\303\251vrier-1989_2709.0090.csv" @@ -0,0 +1,191 @@ +Février 1989; Afrique du Sud;nan;nan;*;nan;nan;* +Février 1989; Albanie;nan;nan;*;nan;nan;* +Février 1989; Algérie;nan;nan;-100;nan;nan;* +Février 1989; Allemagne;nan;nan;*;369;1418;* +Février 1989; Andorre;nan;nan;*;nan;nan;* +Février 1989; Angola;nan;nan;*;nan;nan;* +Février 1989; Anguilla;nan;nan;*;nan;nan;* +Février 1989; Antarctique;nan;nan;*;nan;nan;* +Février 1989; Antigua;nan;nan;*;nan;nan;* +Février 1989; Antilles néerl.;nan;nan;*;nan;nan;* +Février 1989; Arabie saoudite;15945183;2064901;*;nan;nan;* +Février 1989; Argentine;nan;nan;*;nan;nan;* +Février 1989; Australie;nan;nan;*;nan;nan;* +Février 1989; Autriche;nan;nan;*;nan;nan;* +Février 1989; Bahamas;nan;nan;*;nan;nan;* +Février 1989; Bahreïn;nan;nan;*;nan;nan;* +Février 1989; Bangladesh;nan;nan;*;nan;nan;* +Février 1989; Barbade;nan;nan;*;nan;nan;* +Février 1989; Belgique-Lux.;nan;nan;*;nan;nan;* +Février 1989; Belize;nan;nan;*;nan;nan;* +Février 1989; Bénin;nan;nan;*;nan;nan;* +Février 1989; Bermudes;nan;nan;*;nan;nan;* +Février 1989; Bhoutan;nan;nan;*;nan;nan;* +Février 1989; Bolivie;nan;nan;*;nan;nan;* +Février 1989; Botswana;nan;nan;*;nan;nan;* +Février 1989; Brésil;nan;nan;*;nan;nan;* +Février 1989; Brunei;nan;nan;*;nan;nan;* +Février 1989; Bulgarie;nan;nan;*;nan;nan;* +Février 1989; Burkina Faso;nan;nan;*;nan;nan;* +Février 1989; Burundi;nan;nan;*;nan;nan;* +Février 1989; Cabo Verde;nan;nan;*;nan;nan;* +Février 1989; Caïmanes, Îles;nan;nan;*;nan;nan;* +Février 1989; Cambodge;nan;nan;*;nan;nan;* +Février 1989; Cameroun;97067100;19461954;*;nan;nan;* +Février 1989; Canada;nan;nan;*;nan;nan;* +Février 1989; Canaries, Îles;nan;nan;*;nan;nan;* +Février 1989; Centrafrique;nan;nan;*;nan;nan;* +Février 1989; Ceuta/Melilla;nan;nan;*;nan;nan;* +Février 1989; Chili;nan;nan;*;nan;nan;* +Février 1989; Chine;nan;nan;*;nan;nan;* +Février 1989; Chypre;nan;nan;*;nan;nan;* +Février 1989; Colombie;nan;nan;*;nan;nan;* +Février 1989; Comores;nan;nan;*;nan;nan;* +Février 1989; Congo, Rép. du;nan;nan;*;nan;nan;* +Février 1989; Corée (Nord);nan;nan;*;nan;nan;* +Février 1989; Corée (Sud);nan;nan;*;nan;nan;* +Février 1989; Costa Rica;nan;nan;*;nan;nan;* +Février 1989; Côte d'Ivoire;nan;nan;*;nan;nan;* +Février 1989; Cuba;nan;nan;*;nan;nan;* +Février 1989; Danemark;nan;nan;*;nan;nan;* +Février 1989; Djibouti;nan;nan;*;nan;nan;* +Février 1989; Dominicaine, R.;nan;nan;*;nan;nan;* +Février 1989; Dominique;nan;nan;*;nan;nan;* +Février 1989; Egypte;nan;nan;*;nan;nan;* +Février 1989; El Salvador;nan;nan;*;nan;nan;* +Février 1989; Emirats arabes;nan;nan;*;nan;nan;* +Février 1989; Equateur;nan;nan;*;nan;nan;* +Février 1989; Espagne;nan;nan;*;nan;nan;* +Février 1989; Eswatini;nan;nan;*;nan;nan;* +Février 1989; Ethiopie;nan;nan;*;nan;nan;* +Février 1989; Falkland;nan;nan;*;nan;nan;* +Février 1989; Féroé, Îles;nan;nan;*;nan;nan;* +Février 1989; Fidji;nan;nan;*;nan;nan;* +Février 1989; Finlande;nan;nan;*;nan;nan;* +Février 1989; France;nan;nan;*;4608;12687;* +Février 1989; Gabon;nan;nan;*;nan;nan;* +Février 1989; Gambie;nan;nan;*;nan;nan;* +Février 1989; Ghana;nan;nan;*;nan;nan;* +Février 1989; Gibraltar;nan;nan;*;nan;nan;* +Février 1989; Grèce;nan;nan;*;nan;nan;* +Février 1989; Grenade;nan;nan;*;nan;nan;* +Février 1989; Groenland;nan;nan;*;nan;nan;* +Février 1989; Guadeloupe;nan;nan;*;nan;nan;* +Février 1989; Guatemala;nan;nan;*;nan;nan;* +Février 1989; Guinée;nan;nan;*;nan;nan;* +Février 1989; Guinée-Bissau;nan;nan;*;nan;nan;* +Février 1989; Guinée équat.;nan;nan;*;nan;nan;* +Février 1989; Guyana;nan;nan;*;nan;nan;* +Février 1989; Guyane franç.;nan;nan;*;nan;nan;* +Février 1989; Haïti;nan;nan;*;nan;nan;* +Février 1989; Honduras;nan;nan;*;nan;nan;* +Février 1989; Hong Kong;nan;nan;*;nan;nan;* +Février 1989; Hongrie;nan;nan;*;nan;nan;* +Février 1989; Inde;nan;nan;*;nan;nan;* +Février 1989; Indonésie;nan;nan;*;nan;nan;* +Février 1989; Irak;nan;nan;*;nan;nan;* +Février 1989; Iran;nan;nan;*;nan;nan;* +Février 1989; Irlande;nan;nan;*;nan;nan;* +Février 1989; Islande;nan;nan;*;nan;nan;* +Février 1989; Israël;nan;nan;*;nan;nan;* +Février 1989; Italie;nan;nan;*;nan;nan;-100 +Février 1989; Jamaïque;nan;nan;*;nan;nan;* +Février 1989; Japon;nan;nan;*;nan;nan;* +Février 1989; Jordanie;nan;nan;*;nan;nan;* +Février 1989; Kenya;nan;nan;*;nan;nan;* +Février 1989; Kiribati;nan;nan;*;nan;nan;* +Février 1989; Koweït;nan;nan;*;nan;nan;* +Février 1989; Laos;nan;nan;*;nan;nan;* +Février 1989; Lesotho;nan;nan;*;nan;nan;* +Février 1989; Liban;nan;nan;*;nan;nan;* +Février 1989; Libéria;nan;nan;*;nan;nan;* +Février 1989; Libye;nan;nan;-100;nan;nan;* +Février 1989; Macao;nan;nan;*;nan;nan;* +Février 1989; Madagascar;nan;nan;*;nan;nan;* +Février 1989; Malaisie;nan;nan;*;nan;nan;* +Février 1989; Malawi;nan;nan;*;nan;nan;* +Février 1989; Maldives;nan;nan;*;nan;nan;* +Février 1989; Mali;nan;nan;*;nan;nan;* +Février 1989; Malte;nan;nan;*;nan;nan;* +Février 1989; Maroc;nan;nan;*;nan;nan;* +Février 1989; Martinique;nan;nan;*;nan;nan;* +Février 1989; Maurice;nan;nan;*;nan;nan;* +Février 1989; Mauritanie;nan;nan;*;nan;nan;* +Février 1989; Mexique;nan;nan;*;nan;nan;* +Février 1989; Miquelon;nan;nan;*;nan;nan;* +Février 1989; Mongolie;nan;nan;*;nan;nan;* +Février 1989; Montserrat;nan;nan;*;nan;nan;* +Février 1989; Mozambique;nan;nan;*;nan;nan;* +Février 1989; Myanmar;nan;nan;*;nan;nan;* +Février 1989; Namibie;nan;nan;*;nan;nan;* +Février 1989; Nauru;nan;nan;*;nan;nan;* +Février 1989; Népal;nan;nan;*;nan;nan;* +Février 1989; Nicaragua;nan;nan;*;nan;nan;* +Février 1989; Niger;nan;nan;*;nan;nan;* +Février 1989; Nigéria;nan;nan;-100;nan;nan;* +Février 1989; Norvège;44349038;8980680;609.8;nan;nan;* +Février 1989; Nouv.-Zélande;nan;nan;*;nan;nan;* +Février 1989; Océanie améric.;nan;nan;*;nan;nan;* +Février 1989; Oman;nan;nan;*;nan;nan;* +Février 1989; Ouganda;nan;nan;*;nan;nan;* +Février 1989; Pakistan;nan;nan;*;nan;nan;* +Février 1989; Panama;nan;nan;*;nan;nan;* +Février 1989; Papouasie;nan;nan;*;nan;nan;* +Février 1989; Paraguay;nan;nan;*;nan;nan;* +Février 1989; Pays-Bas;nan;nan;*;nan;nan;* +Février 1989; Pérou;nan;nan;*;nan;nan;* +Février 1989; Philippines;nan;nan;*;nan;nan;* +Février 1989; Pitcairn, Îles;nan;nan;*;nan;nan;* +Février 1989; Pologne;nan;nan;*;nan;nan;* +Février 1989; Polynés. franç.;nan;nan;*;nan;nan;* +Février 1989; Porto Rico;nan;nan;*;nan;nan;* +Février 1989; Portugal;6;220;*;nan;nan;* +Février 1989; Qatar;nan;nan;*;nan;nan;* +Février 1989; RDA;nan;nan;*;nan;nan;* +Février 1989; Réunion;nan;nan;*;nan;nan;* +Février 1989; Roumanie;nan;nan;*;nan;nan;* +Février 1989; Royaume-Uni;73174511;15769107;*;nan;nan;* +Février 1989; Rwanda;nan;nan;*;nan;nan;* +Février 1989; Sainte-Hélène;nan;nan;*;nan;nan;* +Février 1989; Sainte-Lucie;nan;nan;*;nan;nan;* +Février 1989; Saint-Vincent;nan;nan;*;nan;nan;* +Février 1989; Salomon, Îles;nan;nan;*;nan;nan;* +Février 1989; Samoa;nan;nan;*;nan;nan;* +Février 1989; Sao-Tomé;nan;nan;*;nan;nan;* +Février 1989; Sénégal;nan;nan;*;nan;nan;* +Février 1989; Seychelles;nan;nan;*;nan;nan;* +Février 1989; Sierra Leone;nan;nan;*;nan;nan;* +Février 1989; Singapour;nan;nan;*;nan;nan;* +Février 1989; Somalie;nan;nan;*;nan;nan;* +Février 1989; Soudan;nan;nan;*;nan;nan;* +Février 1989; Sri Lanka;nan;nan;*;nan;nan;* +Février 1989; St-Kitts;nan;nan;*;nan;nan;* +Février 1989; Suède;nan;nan;*;nan;nan;* +Février 1989; Suriname;nan;nan;*;nan;nan;* +Février 1989; Syrie;nan;nan;*;nan;nan;* +Février 1989; Taïwan;nan;nan;*;nan;nan;* +Février 1989; Tanzanie;nan;nan;*;nan;nan;* +Février 1989; TBOI;nan;nan;*;nan;nan;* +Février 1989; Tchad;nan;nan;*;nan;nan;* +Février 1989; Tchécoslovaquie;nan;nan;*;nan;nan;* +Février 1989; Thaïlande;nan;nan;*;nan;nan;* +Février 1989; Togo;nan;nan;*;nan;nan;* +Février 1989; Tonga;nan;nan;*;nan;nan;* +Février 1989; Trinité;nan;nan;*;nan;nan;* +Février 1989; Tunisie;nan;nan;*;nan;nan;* +Février 1989; Turks;nan;nan;*;nan;nan;* +Février 1989; Turquie;nan;nan;*;nan;nan;* +Février 1989; Tuvalu;nan;nan;*;nan;nan;* +Février 1989; URSS;nan;nan;*;nan;nan;* +Février 1989; Uruguay;nan;nan;*;nan;nan;* +Février 1989; USA;nan;nan;*;nan;nan;* +Février 1989; Vanuatu;nan;nan;*;nan;nan;* +Février 1989; Venezuela;nan;nan;*;nan;nan;* +Février 1989; Vierges amér.;nan;nan;*;nan;nan;* +Février 1989; Viet Nam;nan;nan;*;nan;nan;* +Février 1989; Yémen (Nord);nan;nan;*;nan;nan;* +Février 1989; Yémen (Sud);nan;nan;*;nan;nan;* +Février 1989; Yougoslavie;nan;nan;*;nan;nan;* +Février 1989; Zaïre;nan;nan;*;nan;nan;* +Février 1989; Zambie;nan;nan;*;nan;nan;* +Février 1989; Zimbabwe;nan;nan;*;nan;nan;* diff --git a/files/oops-2214304.png b/files/oops-2214304.png new file mode 100644 index 0000000000000000000000000000000000000000..a21a79c98f7107915437db5b788ff5140e126330 Binary files /dev/null and b/files/oops-2214304.png differ diff --git a/files/oops-3323553.png b/files/oops-3323553.png new file mode 100644 index 0000000000000000000000000000000000000000..ca38de66bacbe4f56f6ce0291a44abf5c1ac5d70 Binary files /dev/null and b/files/oops-3323553.png differ diff --git a/files/oops-3507964.png b/files/oops-3507964.png new file mode 100644 index 0000000000000000000000000000000000000000..b4844a7f930f297c5026b21039fabacb167dcec7 Binary files /dev/null and b/files/oops-3507964.png differ diff --git a/files/oops-4796602.png b/files/oops-4796602.png new file mode 100644 index 0000000000000000000000000000000000000000..95cfa8fb534c940cbd2014a885a165e4a19caa9e Binary files /dev/null and b/files/oops-4796602.png differ diff --git a/files/oops-7413802.png b/files/oops-7413802.png new file mode 100644 index 0000000000000000000000000000000000000000..9962db5b49abd302289c916ede7784eaa1ad557c Binary files /dev/null and b/files/oops-7413802.png differ diff --git a/files/oops-9864577.png b/files/oops-9864577.png new file mode 100644 index 0000000000000000000000000000000000000000..b4844a7f930f297c5026b21039fabacb167dcec7 Binary files /dev/null and b/files/oops-9864577.png differ diff --git a/projet/src/client/schnell/workers.py b/projet/src/client/schnell/workers.py index 7244e02bd3addfc28d81600d21086dce6959f1c9..38b41c5a0957327bc71125cefc8694721f7d6105 100644 --- a/projet/src/client/schnell/workers.py +++ b/projet/src/client/schnell/workers.py @@ -54,7 +54,7 @@ def work(item, context: dict = None): logger.info("Child processed.") except AssertionError as e: intercom = Intercom("127.0.0.1", env("CLIENT_PORT"), True) - intercom.talk({"type": "failed", "task_id": item["id"]}) + intercom.talk({"type": "failed", "task_id": item["id"], "error": str(e)}) intercom.listen() except Exception as e: logger.critical("Unhandled error in worker code !") diff --git a/projet/src/common/utils/YAMLParser.py b/projet/src/common/utils/YAMLParser.py index 8c333841850b5b9d71a5178f016d391c98b0da21..2cd87b6f34b542ba4d70eda42c3b9f0ff5642be6 100644 --- a/projet/src/common/utils/YAMLParser.py +++ b/projet/src/common/utils/YAMLParser.py @@ -1,5 +1,6 @@ import itertools +from sqlalchemy.orm import Session from zmq import ZMQError from common.networking.intercom import Intercom @@ -95,10 +96,10 @@ class YAMLParser: meta = {} # Contains all non expanded key with their values # Parsing arguments - thenItem = None for argName, argOptions in args.items(): if argName == "then": - thenItem = self.__handleThenType__(argOptions, isDry)[0] + logger.info("Found then item, marking as to do later") + meta[argName] = next(iter(argOptions.keys())) elif isinstance(argOptions, dict): logger.debug("Processing complex argument " + argName + "...") expansions[argName] = self.__handleComplexType__(argName, argOptions) @@ -112,6 +113,15 @@ class YAMLParser: logger.info("Generated " + str(len(tasks)) + " tasks.") + thenItems = None + if "then" in meta: + logger.info("Doing 'then' items now. First checking if then module is present in DB...") + thenModule = session.query(Module).filter_by(name=meta["then"]).first() + if thenModule is not None: + thenItems = self.__handleThenType__(args["then"], isDry, thenModule, len(tasks), session) + else: + logger.error("Then module is not found in DB.") + exit(15) if len(meta) > 0: logger.info("Now trying to add meta arguments...") for argName, argValues in meta.items(): @@ -122,7 +132,7 @@ class YAMLParser: logger.info("Now converting into tasks...") output = list() for k in range(len(tasks)): - task = Task(module.id, tasks[k], 0, None if thenItem is None else thenItem['id']) + task = Task(module.id, tasks[k], 0, None if thenItems is None else thenItems[k].id) output.append(task) if not isDry: session.add(task) @@ -136,7 +146,7 @@ class YAMLParser: else: # Small hack to say no to SQLAlchemy... for k in range(len(output)): - output[k].next_task = thenItem + output[k].next_task = thenItems[k].to_dict() realOutput = [task.to_dict() for task in output] @@ -158,11 +168,26 @@ class YAMLParser: return [argOptions] # Handles "then" instructions - def __handleThenType__(self, argOptions: dict, isDry: bool): - if len(argOptions.items()) > 1: + def __handleThenType__(self, argOptions: dict, isDry: bool, module: Module, context: int, session : Session) -> list: + if len(argOptions) > 1: logger.error("Multiple then items are not yet supported.") # Non supported (MySQL current format), INOP else: for thenModuleName, thenModuleArguments in argOptions.items(): - return self.__iterateOnChapter__(thenModuleName, thenModuleArguments, isDry) + if type(thenModuleArguments) == dict and "start" in thenModuleArguments and "end" in thenModuleArguments: + logger.error("Then tasks do not accept complex arguments that expand.") + exit(10) + + output = [] + for k in range(context): + t = Task(module.id, argOptions[next(iter(argOptions.keys()))], 0, None) + output.append(t) + if not isDry: + session.add(t) + if not isDry: + session.commit() + + return output + +