Exemple #1
0
def connect_routes(dispatcher):
    """This function takes the dispatcher and attaches the routes.

    :param dispatcher: The CherryPy dispatcher.
    """
    # controller instances map
    controllers = {
        'root': Root(),
        'calculations': Calculations(),
        'datasets': Datasets(),
        'version': Version(),
    }

    # map them into args to dispatcher
    dictify = lambda x: dict(zip(['name', 'conditions', 'route', 'controller', 'action'], x))
    route_case = {
        'conditions': lambda v: dict(method=v),
        'controller': lambda v: controllers[v],
    }
    kwarg_map = lambda d: {
        k: route_case.get(k, lambda v: v)(v) for k, v in d.iteritems()
    }

    routes = [kwarg_map(dictify(route)) for route in ROUTES + options()]

    # attach them
    for route in routes:
        dispatcher.connect(**route)
 def setUp(self):
     TestBase.setUp(self)
     self.controller = Calculations()
     self.dataset_controller = Datasets()
     self.dataset_id = None
     self.formula = 'amount + gps_alt'
     self.name = 'test'
Exemple #3
0
 def setUp(self):
     TestBase.setUp(self)
     self.controller = Datasets()
     self._file_name = 'good_eats.csv'
     self._update_file_name = 'good_eats_update.json'
     self._update_check_file_path = '%sgood_eats_update_values.json' % (
         self.FIXTURE_PATH)
     self.default_formulae = [
         'amount',
         'amount + 1',
         'amount - 5',
     ]
    def test_create_update_summary(self):
        dataset_id = self._post_file()
        Datasets().summary(
            dataset_id,
            select=Datasets.SELECT_ALL_FOR_SUMMARY)
        dataset = Dataset.find_one(dataset_id)

        self.assertTrue(isinstance(dataset.stats, dict))
        self.assertTrue(isinstance(dataset.stats[Dataset.ALL], dict))

        self.__post_formula()

        # stats should have new column for calculation
        dataset = Dataset.find_one(self.dataset_id)
        stats = dataset.stats.get(Dataset.ALL)
        self.assertTrue(self.name in stats.keys())
 def setUp(self):
     TestBase.setUp(self)
     self.datasets = Datasets()
     self.tmp_file = NamedTemporaryFile(delete=False)