File: table.py

package info (click to toggle)
python-asyncmy 0.2.11-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 676 kB
  • sloc: python: 3,509; makefile: 40
file content (33 lines) | stat: -rw-r--r-- 944 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
class Table:
    def __init__(
        self,
        column_schemas,
        table_id,
        schema: str,
        table: str,
        columns,
        primary_key=None,
    ):
        if primary_key is None:
            primary_key = [c.data["name"] for c in columns if c.data["is_primary"]]
            if len(primary_key) == 0:
                primary_key = ""
            elif len(primary_key) == 1:
                (primary_key,) = primary_key
            else:
                primary_key = tuple(primary_key)

        self.__dict__.update(
            {
                "column_schemas": column_schemas,
                "table_id": table_id,
                "schema": schema,
                "table": table,
                "columns": columns,
                "primary_key": primary_key,
            }
        )

    @property
    def data(self):
        return dict((k, v) for (k, v) in self.__dict__.items() if not k.startswith("_"))