Пример #1
0
    def __init__(self,
                 series_id,
                 connection=None,
                 connection_string="",
                 debug=False):
        # print "Series id: ", series_id
        self._connection = connection
        self._series_id = series_id
        self._filter_from_selection = False
        self._debug = debug

        if (connection_string is not ""):
            self._session_factory = SessionFactory(connection_string, debug)
            self._series_service = SeriesService(connection_string, debug)
        elif (factory is not None):
            self._session_factory = factory
            service_manager = ServiceManager()
            self._series_service = service_manager.get_series_service()
        else:
            # One or the other must be set
            print "Must have either a connection string or session factory"
            # TODO throw an exception

        self._edit_session = self._session_factory.get_session()

        if self._connection == None:
            series_service = SeriesService(connection_string, False)
            series = series_service.get_series_by_id(series_id)
            DataValues = [
                (dv.id, dv.data_value, dv.value_accuracy, dv.local_date_time,
                 dv.utc_offset, dv.date_time_utc, dv.site_id, dv.variable_id,
                 dv.offset_value, dv.offset_type_id, dv.censor_code,
                 dv.qualifier_id, dv.method_id, dv.source_id, dv.sample_id,
                 dv.derived_from_id, dv.quality_control_level_id)
                for dv in series.data_values
            ]
            self._connection = sqlite3.connect(
                ":memory:", detect_types=sqlite3.PARSE_DECLTYPES)
            tmpCursor = self._connection.cursor()
            self.init_table(tmpCursor)
            tmpCursor.executemany(
                "INSERT INTO DataValuesEdit VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)",
                DataValues)

        self._connection.commit()
        self._cursor = self._connection.cursor()

        self._populate_series()
Пример #2
0
 def __init__(self, connection_string="", debug=False):
     self._session_factory = SessionFactory(connection_string, debug)
     self._edit_session = self._session_factory.get_session()
     self._debug = debug
 def setup(self):
     self.connection_string = "sqlite:///:memory:"
     self.session_factory = SessionFactory(self.connection_string,
                                           echo=True)