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.
- gbdtransformation/brands/catm/filters.py +2 -1
- gbdtransformation/brands/catm/template.yml +9 -5
- gbdtransformation/brands/chtm/filters.py +153 -181
- gbdtransformation/brands/chtm/schema +79 -91
- gbdtransformation/brands/chtm/template.yml +98 -107
- gbdtransformation/brands/natm/__init__.py +2 -3
- gbdtransformation/brands/natm/filters.py +8 -2
- gbdtransformation/brands/notm/__init__.py +5 -0
- gbdtransformation/brands/notm/filters.py +117 -0
- gbdtransformation/brands/notm/template.yml +165 -0
- gbdtransformation/brands/phtm/schema +79 -50
- gbdtransformation/brands/phtm/schema.classic +50 -0
- gbdtransformation/brands/phtm/template.classic.yml +102 -0
- gbdtransformation/brands/phtm/template.yml +1 -102
- gbdtransformation/brands/vctm/__init__.py +5 -0
- gbdtransformation/brands/vctm/filters.py +75 -0
- gbdtransformation/brands/vctm/schema +87 -0
- gbdtransformation/brands/vctm/template.yml +1 -0
- gbdtransformation/brands/vctm/tests/__init__.py +0 -0
- gbdtransformation/brands/xxxx/template.yml +1 -1
- gbdtransformation/designs/woid/filters.py +26 -1
- gbdtransformation/designs/woid/template.yml +166 -1
- gbdtransformation/designs/xxid/template.yml +118 -2
- gbdtransformation/execs-nico.py +709 -0
- gbdtransformation/execs.py +9 -4
- gbdtransformation/gbd-transform.exec.tgz +0 -0
- {wipo_gbd_transformation-1.1.53.dist-info → wipo_gbd_transformation-1.1.55.dist-info}/METADATA +5 -3
- {wipo_gbd_transformation-1.1.53.dist-info → wipo_gbd_transformation-1.1.55.dist-info}/RECORD +33 -24
- wipo_gbd_transformation-1.1.55.dist-info/SOURCES_Stefans-Mac-Studio.local_Sep-18-063455-2024_Conflict.txt +690 -0
- {wipo_gbd_transformation-1.1.53.dist-info → wipo_gbd_transformation-1.1.55.dist-info}/WHEEL +1 -1
- gbdtransformation/designs/bgid/__init__.py +0 -5
- gbdtransformation/designs/bgid/filters.py +0 -91
- gbdtransformation/designs/bgid/schema +0 -106
- gbdtransformation/designs/bgid/template.yml +0 -169
- {wipo_gbd_transformation-1.1.53.dist-info → wipo_gbd_transformation-1.1.55.dist-info}/LICENSE.md +0 -0
- {wipo_gbd_transformation-1.1.53.dist-info → wipo_gbd_transformation-1.1.55.dist-info}/entry_points.txt +0 -0
- {wipo_gbd_transformation-1.1.53.dist-info → wipo_gbd_transformation-1.1.55.dist-info}/top_level.txt +0 -0
|
@@ -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 %}
|
{wipo_gbd_transformation-1.1.53.dist-info → wipo_gbd_transformation-1.1.55.dist-info}/LICENSE.md
RENAMED
|
File without changes
|
|
File without changes
|
{wipo_gbd_transformation-1.1.53.dist-info → wipo_gbd_transformation-1.1.55.dist-info}/top_level.txt
RENAMED
|
File without changes
|