Exemplo n.º 1
0
        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()
Exemplo n.º 2
0
        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)
Exemplo n.º 3
0
            )
            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])
Exemplo n.º 4
0
        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()
Exemplo n.º 5
0
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()
Exemplo n.º 6
0
          </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()
Exemplo n.º 7
0
    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()
Exemplo n.º 8
0
        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()
Exemplo n.º 9
0
    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()