wipo-gbd-transformation 1.1.53__py3-none-any.whl → 1.1.55__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of wipo-gbd-transformation might be problematic. Click here for more details.

Files changed (37) hide show
  1. gbdtransformation/brands/catm/filters.py +2 -1
  2. gbdtransformation/brands/catm/template.yml +9 -5
  3. gbdtransformation/brands/chtm/filters.py +153 -181
  4. gbdtransformation/brands/chtm/schema +79 -91
  5. gbdtransformation/brands/chtm/template.yml +98 -107
  6. gbdtransformation/brands/natm/__init__.py +2 -3
  7. gbdtransformation/brands/natm/filters.py +8 -2
  8. gbdtransformation/brands/notm/__init__.py +5 -0
  9. gbdtransformation/brands/notm/filters.py +117 -0
  10. gbdtransformation/brands/notm/template.yml +165 -0
  11. gbdtransformation/brands/phtm/schema +79 -50
  12. gbdtransformation/brands/phtm/schema.classic +50 -0
  13. gbdtransformation/brands/phtm/template.classic.yml +102 -0
  14. gbdtransformation/brands/phtm/template.yml +1 -102
  15. gbdtransformation/brands/vctm/__init__.py +5 -0
  16. gbdtransformation/brands/vctm/filters.py +75 -0
  17. gbdtransformation/brands/vctm/schema +87 -0
  18. gbdtransformation/brands/vctm/template.yml +1 -0
  19. gbdtransformation/brands/vctm/tests/__init__.py +0 -0
  20. gbdtransformation/brands/xxxx/template.yml +1 -1
  21. gbdtransformation/designs/woid/filters.py +26 -1
  22. gbdtransformation/designs/woid/template.yml +166 -1
  23. gbdtransformation/designs/xxid/template.yml +118 -2
  24. gbdtransformation/execs-nico.py +709 -0
  25. gbdtransformation/execs.py +9 -4
  26. gbdtransformation/gbd-transform.exec.tgz +0 -0
  27. {wipo_gbd_transformation-1.1.53.dist-info → wipo_gbd_transformation-1.1.55.dist-info}/METADATA +5 -3
  28. {wipo_gbd_transformation-1.1.53.dist-info → wipo_gbd_transformation-1.1.55.dist-info}/RECORD +33 -24
  29. wipo_gbd_transformation-1.1.55.dist-info/SOURCES_Stefans-Mac-Studio.local_Sep-18-063455-2024_Conflict.txt +690 -0
  30. {wipo_gbd_transformation-1.1.53.dist-info → wipo_gbd_transformation-1.1.55.dist-info}/WHEEL +1 -1
  31. gbdtransformation/designs/bgid/__init__.py +0 -5
  32. gbdtransformation/designs/bgid/filters.py +0 -91
  33. gbdtransformation/designs/bgid/schema +0 -106
  34. gbdtransformation/designs/bgid/template.yml +0 -169
  35. {wipo_gbd_transformation-1.1.53.dist-info → wipo_gbd_transformation-1.1.55.dist-info}/LICENSE.md +0 -0
  36. {wipo_gbd_transformation-1.1.53.dist-info → wipo_gbd_transformation-1.1.55.dist-info}/entry_points.txt +0 -0
  37. {wipo_gbd_transformation-1.1.53.dist-info → wipo_gbd_transformation-1.1.55.dist-info}/top_level.txt +0 -0
@@ -1,5 +1,5 @@
1
1
  Wheel-Version: 1.0
2
- Generator: bdist_wheel (0.43.0)
2
+ Generator: bdist_wheel (0.38.4)
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any
5
5
 
@@ -1,5 +0,0 @@
1
- render = 'JSON'
2
- source = 'national'
3
-
4
- # AID2018000076
5
- appnum_mask = ['(\\d*)-(\\d*)']
@@ -1,91 +0,0 @@
1
- # standard gdd definitions
2
- from gbdtransformation.designs import kinds as std_kinds
3
- from gbdtransformation.designs import status as std_status
4
-
5
- # namespaces defined in XML and to be ignored in procecssing
6
- ignore_namespace = [
7
- "http://www.oami.europa.eu/schemas/design_Transaction",
8
- "http://www.oami.europa.eu/schemas/design_IndicationProduct",
9
- "http://www.oami.europa.eu/schemas/design",
10
- ]
11
-
12
- def get_appdate(appdate, appnum):
13
- return appdate
14
-
15
- def get_designs_count(design, header):
16
- return '1'
17
-
18
- def get_designs_pos(design, header):
19
- return '1'
20
-
21
- # -------------------------------------------------------------
22
- # data translation helpers:
23
- # translate values from office interpretation to gbd equivalent
24
- # -------------------------------------------------------------
25
- def translate_kind(desgin, header):
26
- code = header.TransactionCode.lower()
27
- if code == 'ds-search design list':
28
- return 'Industrial Design'
29
- raise Exception('Type "%s" is not mapped.' % (code))
30
-
31
- def parseForSt13(appnum, des_ref):
32
- if des_ref.get('DesignIdentifier'):
33
- return appnum + '-' + des_ref['DesignIdentifier'].split('-')[1]
34
- else:
35
- return appnum + '-' + des_ref['DesignURI'].split('-')[1]
36
-
37
- def format_address(address):
38
- return '%s, %s %s' % (address.AddressStreet,
39
- address.AddressPostcode,
40
- address.AddressCity)
41
-
42
- def format_name(name):
43
- fname = name.FirstName
44
- lname = name.LastName
45
-
46
- full_name = [name.FirstName, name.LastName]
47
- full_name = [f.strip() for f in full_name if f is not None]
48
-
49
- return ' '.join(full_name)
50
-
51
-
52
- def is_international(header):
53
- return False
54
-
55
- def get_ir_refnum(appnum):
56
- return appnum
57
-
58
- def translate_status(desgin):
59
- if desgin._operationCode == 'Delete':
60
- return 'Delete'
61
-
62
- status = desgin.DesignCurrentStatusCode
63
-
64
- if status in ['Application filed',
65
- 'Application published',
66
- 'Application under examination',
67
- 'Registration pending',
68
- 'Appeal pending',
69
- 'Registration cancellation pending',
70
- 'Filed']:
71
- return 'Pending'
72
-
73
- if status in ['Application refused',
74
- 'Application withdrawn',
75
- 'Application opposed',
76
- 'Registration cancelled',
77
- 'Registration surrendered',
78
- 'Design surrendered',
79
- 'Design declared invalid',
80
- 'Lack of effects',
81
- "Design lapsed",
82
- 'Ended']:
83
- return 'Ended'
84
-
85
- if status in ['Registered',
86
- 'Registered and subject to deferment',
87
- 'Registered and fully published']:
88
- return 'Registered'
89
- if status in ['Registration expired', 'Expired']: return 'Expired'
90
-
91
- raise Exception('Status "%s" not mapped.' % status)
@@ -1,106 +0,0 @@
1
- /Transaction
2
- __/DesignTransactionBody
3
- ____/TransactionContentDetails
4
- ______/TransactionCode
5
- ______/TransactionData
6
- ________/DesignDetails
7
- __________/Design
8
- ____________/ApplicantDetails
9
- ______________/Applicant
10
- ________________/ApplicantAddressBook
11
- __________________/ContactInformationDetails
12
- ____________________/Email
13
- ____________________/Phone
14
- ____________________/Phone[@phoneKind=Undefined]
15
- __________________/FormattedNameAddress
16
- ____________________/Address
17
- ______________________/AddressCountryCode
18
- ______________________/FormattedAddress
19
- ________________________/AddressCity
20
- ________________________/AddressCounty
21
- ________________________/AddressPostcode
22
- ________________________/AddressStreet
23
- ____________________/Name
24
- ______________________/FormattedName
25
- ________________________/FirstName
26
- ________________________/LastName
27
- ________________________/MiddleName
28
- ________________________/OrganizationName
29
- ________________/ApplicantIdentifier
30
- ________________/ApplicantNationalityCode
31
- ____________/ApplicationDate
32
- ____________/ApplicationNumber
33
- ____________/ClassDescriptionDetails
34
- ______________/ClassDescription
35
- ________________/ClassNumber
36
- ____________/DefermentExpirationDate
37
- ____________/DesignCurrentStatusCode
38
- ____________/DesignCurrentStatusDate
39
- ____________/DesignIdentifier
40
- ____________/DesignPreferedRepresentation
41
- ______________/ViewURI
42
- ____________/DesignRepresentationSheetDetails
43
- ______________/DesignRepresentationSheet
44
- ________________/ViewDetails
45
- __________________/View
46
- ____________________/ViewURI
47
- ____________/DesignURI
48
- ____________/DesignerDetails
49
- ______________/Designer
50
- ________________/DesignerAddressBook
51
- __________________/FormattedNameAddress
52
- ____________________/Name
53
- ______________________/FreeFormatName
54
- ________________________/FreeFormatNameDetails
55
- __________________________/FreeFormatNameLine
56
- ________________/DesignerIdentifier
57
- ____________/EffectiveDate
58
- ____________/ExpiryDate
59
- ____________/IndicationProductDetails
60
- ______________/IndicationProduct
61
- ______________/IndicationProduct[@languageCode=BG]
62
- ____________/PriorityDetails
63
- ______________/Priority
64
- ________________/PriorityCountryCode
65
- ________________/PriorityDate
66
- ________________/PriorityNumber
67
- ____________/PublicationDate
68
- ____________/RegistrationDate
69
- ____________/RegistrationNumber
70
- ____________/RegistrationOfficeCode
71
- ____________/RepresentativeDetails
72
- ______________/Representative
73
- ________________/RepresentativeAddressBook
74
- __________________/ContactInformationDetails
75
- ____________________/Email
76
- ____________________/Phone
77
- ____________________/Phone[@phoneKind=Undefined]
78
- __________________/FormattedNameAddress
79
- ____________________/Address
80
- ______________________/AddressCountryCode
81
- ______________________/FormattedAddress
82
- ________________________/AddressCity
83
- ________________________/AddressCounty
84
- ________________________/AddressPostcode
85
- ________________________/AddressStreet
86
- ____________________/Name
87
- ______________________/FormattedName
88
- ________________________/FirstName
89
- ________________________/LastName
90
- ________________________/MiddleName
91
- ________________________/OrganizationName
92
- ______________________/FreeFormatName
93
- ________________________/FreeFormatNameDetails
94
- __________________________/FreeFormatNameLine
95
- ________________/RepresentativeIdentifier
96
- ________________/RepresentativeKindCode
97
- ________________/RepresentativeLegalEntity
98
- ________________/RepresentativeNationalityCode
99
- ________________/RepresentativeURI
100
- __________/Design[@operationCode=Delete]
101
- __________/Design[@operationCode=Insert]
102
- ______/TransactionIdentifier
103
- __/TransactionHeader
104
- ____/SenderDetails
105
- ______/RequestProducerDateTime
106
- ________/design EM-DS-Search-DesignList-V1-0.xsd]
@@ -1,169 +0,0 @@
1
- {% from 'navigation.tmpl' import match %}
2
-
3
- {% call(header) match('DesignTransactionBody.TransactionContentDetails', Transaction) %}
4
-
5
- {% call(design) match('TransactionData.DesignDetails.Design', header) %}
6
- {% set design_count = design | get_designs_count(header) %}
7
- {% set design_pos = design | get_designs_pos(header) %}
8
- {% set kind = design | translate_kind(header) %}
9
- type: 'DESIGN'
10
- subtype: 'OPEN'
11
- designGrouping: 'MULTIPLE'
12
- designsCount: {{ design_count }}
13
-
14
- kind:
15
- - {{kind}}
16
- {{ design }}
17
- registrationOfficeCode: {{ design.RegistrationOfficeCode}}
18
- designatedCountries:
19
- - BG
20
- reference:
21
- {% if header | is_international %}
22
- registration:
23
- - number: {{ design.ApplicationNumber | get_ir_refnum }}
24
- office: WO
25
- {% endif %}
26
- {% if not kind == 'Industrial Design' %}
27
- registration:
28
- - number: {{ design.RegistrationNumber }}
29
- {% endif %}
30
-
31
- {% set idstatus = design | translate_status %}
32
- {% set appdate = design.ApplicationDate | get_appdate(design.ApplicationNumber) %}
33
-
34
- st13: {{ design.ApplicationNumber | parseForSt13(design) | st13(design.RegistrationOfficeCode, design_pos, appdate=appdate) }}
35
-
36
- applicationNumber: {{ design.ApplicationNumber }}
37
- applicationDate: {{ design.ApplicationDate }}
38
- registrationNumber: {{ design.RegistrationNumber }}
39
- registrationDate: {{ design.RegistrationDate }}
40
- publicationDate: {{ design.PublicationDate }}
41
- expiryDate: {{ design.ExpiryDate }}
42
-
43
- applicationLanguageCode: BG
44
-
45
-
46
- applicants:
47
- {% call(applicant) match('ApplicantDetails.Applicant', design) %}
48
- - identifier: {{ applicant.ApplicantIdentifier }}
49
- {% call(details) match('ApplicantAddressBook.FormattedNameAddress.Name.FormattedName', applicant) %}
50
- {% if details.OrganizationName %}
51
- kind: 'organization'
52
- fullName:
53
- - languageCode: BG
54
- text: {{ details.OrganizationName }}
55
- {% else %}
56
- kind: 'person'
57
- fullName:
58
- - languageCode: BG
59
- text: {{ details | format_name }}
60
- firstName:
61
- - languageCode: BG
62
- text: {{ details.FirstName}}
63
- lastName:
64
- - languageCode: BG
65
- text: {{ details.LastName}}
66
- middleName:
67
- - languageCode: BG
68
- text: {{ details.MiddleName}}
69
- {% endif %}
70
- {% endcall %}
71
- {% call(address) match('ApplicantAddressBook.FormattedNameAddress.Address', applicant) %}
72
- fullAddress:
73
- - languageCode: BG
74
- text: {{ address.FormattedAddress | format_address }}
75
- addressLines: {{ address.FormattedAddress.AddressStreet }}
76
- cityName: {{ address.FormattedAddress.AddressCity }}
77
- geographicRegionName: {{ address.FormattedAddress.AddressCounty }}
78
- postalCode: {{ address.FormattedAddress.AddressPostcode }}
79
- countryCode: {{ address.AddressCountryCode }}
80
- {% endcall %}
81
- {% endcall %}
82
-
83
- representatives:
84
- {% call(rep) match('RepresentativeDetails.Representative', design) %}
85
- - identifier: {{ rep.RepresentativeIdentifier }}
86
- {% call(details) match('RepresentativeAddressBook.FormattedNameAddress.Name.FormattedName', rep) %}
87
- kind: {{ rep.RepresentativeLegalEntity}}
88
- {% if details.OrganizationName %}
89
- fullName:
90
- - languageCode: BG
91
- text: {{ details.OrganizationName }}
92
- {% else %}
93
- fullName:
94
- - languageCode: BG
95
- text: {{ details | format_name }}
96
- firstName:
97
- - languageCode: BG
98
- text: {{ details.FirstName}}
99
- lastName:
100
- - languageCode: BG
101
- text: {{ details.LastName}}
102
- middleName:
103
- - languageCode: BG
104
- text: {{ details.MiddleName}}
105
- {% endif %}
106
- {% endcall %}
107
- {% call(address) match('RepresentativeAddressBook.FormattedNameAddress.Address', rep) %}
108
- fullAddress:
109
- - languageCode: BG
110
- text: {{ address.FormattedAddress | format_address }}
111
- addressLines: {{ address.FormattedAddress.AddressStreet }}
112
- cityName: {{ address.FormattedAddress.AddressCity }}
113
- geographicRegionName: {{ address.FormattedAddress.AddressCounty }}
114
- postalCode: {{ address.FormattedAddress.AddressPostcode }}
115
- countryCode: {{ address.AddressCountryCode }}
116
- {% endcall %}
117
- {% endcall %}
118
-
119
- designs:
120
- - designPos: {{ design_pos }}
121
- officeStatus: {{ design.DesignCurrentStatusCode | parseStatus }}
122
- gbdStatus: {{ idstatus }}
123
- statusDate: {{ design.DesignCurrentStatusDate }}
124
- productIndication:
125
- {% call(indic) match('IndicationProduct', design.IndicationProductDetails) %}
126
- - languageCode: {{ indic | guess_language(indic._languageCode, BG) }}
127
- text: {{ indic }}
128
- {% endcall %}
129
-
130
- designImageDetails:
131
- {% call(sheet) match('DesignRepresentationSheet', design.DesignRepresentationSheetDetails) %}
132
- {% call(img) match('ViewDetails.View',sheet) %}
133
- - name: {{ img.ViewURI }}
134
- {% endcall %}
135
- {% endcall %}
136
-
137
- designer:
138
- {% call(designer) match('DesignerDetails.Designer', design) %}
139
- {% call(details) match('DesignerAddressBook.FormattedNameAddress.Name.FreeFormatName', designer) %}
140
- - identifier: {{ designer.DesignerIdentifier }}
141
- fullName:
142
- {% call(nameline) match('FreeFormatNameDetails.FreeFormatNameLine', details) %}
143
- - text: {{ nameline }}
144
- languageCode: BG
145
- {% endcall %}
146
- {% endcall %}
147
- {% endcall %}
148
-
149
- productIndicationClasses:
150
- {% call(indicationProducts) match('ClassDescriptionDetails', design) %}
151
- - kind: "Locarno"
152
- classes:
153
- {% call(code) match('ClassDescription', indicationProducts) %}
154
- - code: {{ code.ClassNumber }}
155
- {% endcall %}
156
- {% endcall %}
157
-
158
- priorities:
159
- {% call(priority) match('PriorityDetails.Priority', design) %}
160
- - countryCode: {{ priority.PriorityCountryCode }}
161
- number: {{ priority.PriorityNumber }}
162
- date: {{ priority.PriorityDate }}
163
- {% endcall %}
164
-
165
-
166
-
167
-
168
- {% endcall %}
169
- {% endcall %}