Skip to content

Commit 2e27425

Browse files
authored
Merge pull request #98 from CartoDB/add_sync_data
Include synchronization data in the dataset model
2 parents f29e7c0 + 96d09b8 commit 2e27425

File tree

4 files changed

+56
-4
lines changed

4 files changed

+56
-4
lines changed

carto/datasets.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@
2323
from .resources import WarnResource
2424
from .sync_tables import SyncTableJobManager
2525
from .tables import TableManager
26-
from .fields import TableField, UserField, PermissionField
26+
from .fields import TableField, UserField, PermissionField, SynchronizationField
2727
from .paginators import CartoPaginator
2828
from .resources import Manager
2929

@@ -67,7 +67,7 @@ class Dataset(WarnResource):
6767
privacy = CharField()
6868
source = None
6969
stats = DateTimeField(many=True)
70-
synchronization = None
70+
synchronization = SynchronizationField()
7171
table = TableField()
7272
tags = CharField(many=True)
7373
title = CharField()

carto/fields.py

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -47,3 +47,9 @@ class PermissionField(ResourceField):
4747
:class:`carto.permissions.Permission`
4848
"""
4949
value_class = "carto.permissions.Permission"
50+
51+
class SynchronizationField(ResourceField):
52+
"""
53+
:class:`carto.synchronizations.Synchronization`
54+
"""
55+
value_class = "carto.synchronizations.Synchronization"

carto/synchronizations.py

Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
"""
2+
Entity classes for defining synchronizations
3+
4+
.. module:: carto.synchronizations
5+
:platform: Unix, Windows
6+
:synopsis: Entity classes for defining synchronizations
7+
8+
.. moduleauthor:: Daniel Carrion <[email protected]>
9+
.. moduleauthor:: Alberto Romeu <[email protected]>
10+
11+
12+
"""
13+
14+
from pyrestcli.resources import Resource
15+
from pyrestcli.fields import CharField, DateTimeField, BooleanField, IntegerField
16+
17+
18+
class Synchronization(Resource):
19+
"""
20+
Represents a synchronization in CARTO. This is an internal data type, with no
21+
specific API endpoints
22+
"""
23+
checksum = CharField()
24+
created_at = DateTimeField()
25+
error_code = CharField()
26+
error_message = CharField()
27+
id = CharField()
28+
interval = IntegerField()
29+
modified_at = DateTimeField()
30+
name = CharField()
31+
ran_at = DateTimeField()
32+
retried_times = IntegerField()
33+
run_at = DateTimeField()
34+
service_item_id = CharField()
35+
service_name = CharField()
36+
state = CharField()
37+
updated_at = DateTimeField()
38+
url = CharField()
39+
user_id = CharField()
40+
content_guessing = BooleanField()
41+
etag = CharField()
42+
log_id = BooleanField()
43+
quoted_fields_guessing = BooleanField()
44+
type_guessing = BooleanField()
45+
from_external_source = BooleanField()
46+
visualization_id = BooleanField()

carto/visualizations.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@
1818
BooleanField
1919

2020
from .exceptions import CartoException
21-
from .fields import TableField
21+
from .fields import TableField, SynchronizationField
2222
from .resources import Manager, WarnResource
2323
from .paginators import CartoPaginator
2424
from .export import ExportJob
@@ -60,7 +60,7 @@ class Visualization(WarnResource):
6060
privacy = None
6161
source = None
6262
stats = None
63-
synchronization = None
63+
synchronization = SynchronizationField()
6464
table = TableField()
6565
related_tables = TableField(many=True)
6666
tags = None

0 commit comments

Comments
 (0)