newfilename = d.retrieve_current() self.assertIsNotNone(newfilename) def test_no_download(self): self.logger.info("Test - test_no_download") d = practitioner.RPPS(properties=self.config_2) newfilename = d.retrieve_current() self.assertIsNone(newfilename) def test_newer(self): self.logger.info("Test - test_newer") d = practitioner.RPPS(properties=self.config_1) self.assertTrue(d.is_newer("PS_LibreAcces_201808011050.zip")) self.assertFalse(d.is_newer("PS_LibreAcces_201408011050.zip")) def test_root_filename(self): d = practitioner.RPPS(properties=self.config_1) fn = "PS_LibreAcces_Dipl_AutExerc_201807300827.txt" self.assertEqual(d.root_data_filename(fn), "PS_LibreAcces_Dipl_AutExerc") if __name__ == "__main__": loggers = helpers.stdout_logger(["utest", "downloader"], logging.DEBUG) unittest.main()
for (sha, linenum) in new_sha_data.items(): if not old_sha_data or sha not in old_sha_data: diff_data.append((sha, linenum + 1, new_d.data[linenum])) return diff_data def save_diff(self, difflist, filename): """ Save differences into a file :param difflist: list of differences :param filename: file name containing diff :return: """ self.logger.info("Differences >>> %d" % len(difflist)) with open(os.path.join(self.storage_dir, filename), "w") as fout: for s, l, t in difflist: fout.write("%s\n" % l) if __name__ == "__main__": loggers = helpers.stdout_logger(["differentia", "digester"], logging.INFO) parser = argparse.ArgumentParser() parser.add_argument("previous", help="previous data file") parser.add_argument("next", help="next data file") parser.add_argument("output", help="output file name") args = parser.parse_args() diff = Diff(data_filename=args.previous) data = diff.find_diff(args.next) diff.save_diff(data, args.output)
) df2 = df.loc[ df.drop_duplicates("adresse_bal_mssante") .adresse_bal_mssante.dropna() .index ] mss_providers = df2.adresse_bal_mssante.str.split("@", expand=True).get(1) _date = dt.strptime(re_rpps_fn.match(fn).group(2), _fmt) for domain in MSSANTE: for dom in domain["domains"]["value"]: _count = mss_providers.where(mss_providers == dom).dropna().count() logger.info("Add {}={} to {}".format(_date, _count, dom)) data[domain["name"]]["mssante"][dom].append( dict(date=_date.strftime("%Y-%m-%d"), value=int(_count)) ) for domain in MSSANTE: fn = os.path.join(absdir, domain["filename"]) logger.info("Save {}".format(fn)) with open(fn, "w") as fout: helpers.save_json(fn, data[domain["name"]]) if __name__ == "__main__": print(sys.path) loggers = helpers.stdout_logger(["diff", "digester", "test"], logging.INFO) main(sys.argv[1])
return data def test_count(self): df = pandas.read_csv( "/opt/test/test/files/Extraction_Correspondance_MSSante_201807310813.txt", delimiter="|", names=practitioner.RPPS.KEYS_MSSANTE, header=0, index_col=False, ) self.logger.info("nunique : %d" % df["identifiant_pp"].nunique()) self.logger.info("MSSante : %d" % df["adresse_bal"].nunique()) self.logger.info("MSSante total : %d" % len(df)) mss_providers = df.adresse_bal.str.split("@", expand=True).get(1) self.logger.info("Nb MSS : %d" % len(mss_providers.unique())) self.logger.info("Nb by provider : %d" % len(mss_providers.value_counts())) self.assertEqual(len(df), 136693) self.assertEqual(116797, df["identifiant_pp"].nunique()) self.assertEqual(136166, df["adresse_bal"].nunique()) if __name__ == "__main__": loggers = helpers.stdout_logger(["utest"], logging.INFO) unittest.main()
import logging import unittest import digester from easy_atom import helpers class TestDigester(unittest.TestCase): def setUp(self): self.logger = logging.getLogger("utest") def test_equal_data(self): self.logger.info(" TEST test_equal_data") d = digester.Digester() dig1 = d.digest( "test/files/PS_LibreAcces_Dipl_AutExerc_201807300827.txt") self.logger.info(len(dig1)) dig2 = d.load_digest( "test/files/PS_LibreAcces_Dipl_AutExerc_201807300827.txt.sha") self.logger.info(len(dig2)) self.assertEqual(len(dig1), len(dig2)) if __name__ == "__main__": loggers = helpers.stdout_logger(["utest", "digester"], logging.INFO) unittest.main()
</div> <div> <h1>Informations sur la version 407</h1> <p>23 lignes mises à jour.</p> <p>Les médicaments concernés par la mise à jour sont les suivants :</p> <p>KOVALTRY, CASPOFUNGINE, NEVIRAPINE, VESANOID, ABACAVIR, EPOPROSTENOL, PANZYGA</p> <p/> </div> </article> </div> </content> </entry> </feed> """ root = content.xmlelt(None, "feed", None, {"xmlns": "http://www.w3.org/2005/Atom"}) xml_entry = content.xmlelt(root, "entry") content.make_xhtml(xml_entry, self.infos_in) print(content.xml2text(root)) #self.assertEqual(content.xml2text(root), expected_out) root = self.assertXmlDocument(expected_out) if __name__ == '__main__': loggers = helpers.stdout_logger(['tests', 'content'], logging.DEBUG) unittest.main()
def display(self, result): print(f"{len(result)} valueurs") for r in result: print(r) def main(): """ Main : process arguments and start App """ parser = argparse.ArgumentParser() parser.add_argument("--domain", help="domaine a chercher") parser.add_argument("--txt", help="Fichier texte contenant l'extraction MSSante") args = parser.parse_args() if args.txt and args.domain: app = App(args.txt) result = app.process(args.domain) app.display(result) else: sys.stdout.write("/!\\ Aucune action définie !\n\n") parser.print_help(sys.stderr) sys.exit(1) if __name__ == "__main__": loggers = helpers.stdout_logger(["app"], logging.DEBUG) main()
if args.stat and args.txt and os.path.exists(args.txt): app.statistics(args.txt) else: app.process(args.zip) if args.dataftp and os.path.exists(args.dataftp): app.upload_data(args.dataftp) if args.feedftp and os.path.exists(args.feedftp): app.upload_feed(args.feedftp) else: sys.stdout.write("/!\\ Aucune action définie !\n\n") parser.print_help(sys.stderr) sys.exit(1) if __name__ == "__main__": loggers = helpers.stdout_logger( [ "downloader", "differentia", "app", "digester", "practitioner", "info", "feed", ], logging.DEBUG, ) main()
def test_tweet(self): self.logger.info("test_tweet") conffn = 'myconf/twitter.json' self.assertTrue(os.path.exists(conffn)) act = action.TweetAction(conf_filename=conffn) n = datetime.datetime.now().strftime('%Y%m%d%H%M%S') ret = act.process("Test - Unit test (now {})".format(n)) self.logger.info("Id : {}".format(ret)) self.assertIsNotNone(ret) def test_tweet_error(self): self.logger.info("test_tweet_error") conffn = 'myconf/twitter.json' self.assertTrue(os.path.exists(conffn)) act = action.TweetAction(conf_filename=conffn) ret1 = act.process("Test - Unit test") self.logger.info("Id 1 : {}".format(ret1)) ret2 = act.process("Test - Unit test") self.assertIsNone(ret2) if __name__ == '__main__': loggers = helpers.stdout_logger(['tests', 'action'], logging.DEBUG) unittest.main()