wipo-gbd-transformation 1.1.55__py3-none-any.whl → 1.1.56__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/chtm/filters.py +8 -2
- gbdtransformation/brands/notm/filters.py +13 -32
- gbdtransformation/designs/bgid/__init__.py +5 -0
- gbdtransformation/designs/bgid/filters.py +91 -0
- gbdtransformation/designs/bgid/schema +106 -0
- gbdtransformation/designs/bgid/template.yml +169 -0
- {wipo_gbd_transformation-1.1.55.dist-info → wipo_gbd_transformation-1.1.56.dist-info}/METADATA +4 -4
- {wipo_gbd_transformation-1.1.55.dist-info → wipo_gbd_transformation-1.1.56.dist-info}/RECORD +13 -9
- {wipo_gbd_transformation-1.1.55.dist-info → wipo_gbd_transformation-1.1.56.dist-info}/WHEEL +1 -1
- {wipo_gbd_transformation-1.1.55.dist-info → wipo_gbd_transformation-1.1.56.dist-info}/LICENSE.md +0 -0
- {wipo_gbd_transformation-1.1.55.dist-info → wipo_gbd_transformation-1.1.56.dist-info}/SOURCES_Stefans-Mac-Studio.local_Sep-18-063455-2024_Conflict.txt +0 -0
- {wipo_gbd_transformation-1.1.55.dist-info → wipo_gbd_transformation-1.1.56.dist-info}/entry_points.txt +0 -0
- {wipo_gbd_transformation-1.1.55.dist-info → wipo_gbd_transformation-1.1.56.dist-info}/top_level.txt +0 -0
|
@@ -151,5 +151,11 @@ def clean_verbal_element(element_text):
|
|
|
151
151
|
def local_guess_language(content):
|
|
152
152
|
if content == None:
|
|
153
153
|
return None
|
|
154
|
-
from
|
|
155
|
-
|
|
154
|
+
from lingua import Language, LanguageDetectorBuilder
|
|
155
|
+
languages = [Language.ENGLISH, Language.FRENCH, Language.GERMAN, Language.ITALIAN]
|
|
156
|
+
detector = LanguageDetectorBuilder.from_languages(*languages).build()
|
|
157
|
+
language = detector.detect_language_of(content)
|
|
158
|
+
if language:
|
|
159
|
+
return language.iso_code_639_1.name.lower()
|
|
160
|
+
else:
|
|
161
|
+
return None
|
|
@@ -58,21 +58,11 @@ def get_local_texts(nodes):
|
|
|
58
58
|
text += node["$"]
|
|
59
59
|
return text
|
|
60
60
|
|
|
61
|
-
"""
|
|
62
|
-
def get_registration_nb(trademark, tmstatus):
|
|
63
|
-
if trademark.RegistrationNumber:
|
|
64
|
-
return trademark.RegistrationNumber
|
|
65
|
-
|
|
66
|
-
# default registration number to application number
|
|
67
|
-
# in case none is provided
|
|
68
|
-
if tmstatus in ['Registered', 'Expired']:
|
|
69
|
-
return trademark.ApplicationNumber.ApplicationNumberText
|
|
70
|
-
"""
|
|
71
|
-
|
|
72
61
|
def get_full_address(postalStructuredAddress):
|
|
73
62
|
result = ""
|
|
74
63
|
if "addressLineText" in postalStructuredAddress:
|
|
75
64
|
for addressLineText in postalStructuredAddress["addressLineText"]:
|
|
65
|
+
# always empty, which is good
|
|
76
66
|
"""
|
|
77
67
|
if hasattr(addressLineText, '__value'):
|
|
78
68
|
if len(result) > 0:
|
|
@@ -92,26 +82,17 @@ def get_full_address(postalStructuredAddress):
|
|
|
92
82
|
else:
|
|
93
83
|
return result.strip()
|
|
94
84
|
|
|
95
|
-
|
|
96
|
-
def select_priority_date(priority):
|
|
97
|
-
if priority == None:
|
|
98
|
-
return None
|
|
99
|
-
if "PriorityApplicationFilingDate" in priority:
|
|
100
|
-
return priority["PriorityApplicationFilingDate"]
|
|
101
|
-
elif "PriorityRegistrationDate" in priority:
|
|
102
|
-
return priority["PriorityRegistrationDate"]
|
|
103
|
-
else:
|
|
104
|
-
return None
|
|
105
|
-
|
|
106
|
-
def clean_verbal_element(element_text):
|
|
107
|
-
if element_text == None:
|
|
108
|
-
return None
|
|
109
|
-
element_text = element_text.replace("((fig.))", "")
|
|
110
|
-
return element_text.strip()
|
|
111
|
-
"""
|
|
112
|
-
|
|
113
|
-
def local_guess_language(content):
|
|
85
|
+
def local_guess_language(content):
|
|
114
86
|
if content == None:
|
|
115
87
|
return None
|
|
116
|
-
from
|
|
117
|
-
|
|
88
|
+
from lingua import Language, LanguageDetectorBuilder
|
|
89
|
+
detector = LanguageDetectorBuilder.from_all_spoken_languages().build()
|
|
90
|
+
language = detector.detect_language_of(content)
|
|
91
|
+
if language:
|
|
92
|
+
lang = language.iso_code_639_1.name.lower()
|
|
93
|
+
# we merge Norwegian flavors, Norwegian Bokmål and Norwegian Nynorsk
|
|
94
|
+
if lang == "nn" or lang =="nb":
|
|
95
|
+
lang = "no"
|
|
96
|
+
return lang
|
|
97
|
+
else:
|
|
98
|
+
return None
|
|
@@ -0,0 +1,91 @@
|
|
|
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)
|
|
@@ -0,0 +1,106 @@
|
|
|
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]
|
|
@@ -0,0 +1,169 @@
|
|
|
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.55.dist-info → wipo_gbd_transformation-1.1.56.dist-info}/METADATA
RENAMED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: wipo-gbd-transformation
|
|
3
|
-
Version: 1.1.
|
|
3
|
+
Version: 1.1.56
|
|
4
4
|
Summary: GBD XML ETL package
|
|
5
5
|
Home-page: https://github.com/GBD-Wipo/xmlE
|
|
6
6
|
Author: WIPO GDB team
|
|
@@ -9,14 +9,14 @@ Keywords: gbdtransformation
|
|
|
9
9
|
Classifier: Programming Language :: Python :: 3.6
|
|
10
10
|
License-File: LICENSE.md
|
|
11
11
|
Requires-Dist: boto3
|
|
12
|
-
Requires-Dist: jinja2
|
|
12
|
+
Requires-Dist: jinja2 ==2.11.2
|
|
13
13
|
Requires-Dist: xmltodict
|
|
14
14
|
Requires-Dist: dicttoxml
|
|
15
15
|
Requires-Dist: PyYAML
|
|
16
16
|
Requires-Dist: munch
|
|
17
17
|
Requires-Dist: tabulate
|
|
18
|
-
Requires-Dist: markupsafe
|
|
19
|
-
Requires-Dist:
|
|
18
|
+
Requires-Dist: markupsafe ==2.0.1
|
|
19
|
+
Requires-Dist: lingua-language-detector
|
|
20
20
|
Requires-Dist: lxml
|
|
21
21
|
|
|
22
22
|
GBD XML ETL package
|
{wipo_gbd_transformation-1.1.55.dist-info → wipo_gbd_transformation-1.1.56.dist-info}/RECORD
RENAMED
|
@@ -70,7 +70,7 @@ gbdtransformation/brands/catm/filters.py,sha256=iZOJFFpmXySl08VWkLDF3cMqFxW3ZGcl
|
|
|
70
70
|
gbdtransformation/brands/catm/schema,sha256=Xace88lwiEefhHkk6Zg12dzVF237nMy06HMISEXaTwk,34762
|
|
71
71
|
gbdtransformation/brands/catm/template.yml,sha256=AwAv3VPRY2VmoyTyPZCwKdRJSmYdVUTRpJj4Zv3uqrM,9861
|
|
72
72
|
gbdtransformation/brands/chtm/__init__.py,sha256=HPYmDCQ41vkuoXSA94CRtqN_pEKDaUhbpXLOBqlaumQ,130
|
|
73
|
-
gbdtransformation/brands/chtm/filters.py,sha256=
|
|
73
|
+
gbdtransformation/brands/chtm/filters.py,sha256=nYtLWz-1b_DVyVO46AbtdGCzuXwKjJ7aEiZxItQ4o-c,5317
|
|
74
74
|
gbdtransformation/brands/chtm/schema,sha256=f3lVto7Y6O9W7dmhR-4lShQMTVL3tl6bGbw1DZLXuxU,2071
|
|
75
75
|
gbdtransformation/brands/chtm/template.yml,sha256=Desw_6ECzW_tXZCKHCZfyu-DdMeVrCl4vQgXXYBHU-A,4397
|
|
76
76
|
gbdtransformation/brands/cltm/__init__.py,sha256=yqzC7OagUR0RLui3pHPWo5WxLyksznHcpI-NEEgnlYE,36
|
|
@@ -288,7 +288,7 @@ gbdtransformation/brands/natm/schema,sha256=TFrF4FR76cytcbtQkDWxtF74I0tCPRDIvWRF
|
|
|
288
288
|
gbdtransformation/brands/natm/template.yml,sha256=PO7s1HDQM9ushIJuIX3z_dfWO-f62YDzBG_sYKDlnG8,34
|
|
289
289
|
gbdtransformation/brands/natm/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
290
290
|
gbdtransformation/brands/notm/__init__.py,sha256=YRZPymjJv7V5vqjphBN1UOHZ3RL1oeYYqaOI6AKInl0,88
|
|
291
|
-
gbdtransformation/brands/notm/filters.py,sha256=
|
|
291
|
+
gbdtransformation/brands/notm/filters.py,sha256=Iahq56k5uQD0rZJiwIbPA6Q13M5MNdEGmh8SXPZavUY,2933
|
|
292
292
|
gbdtransformation/brands/notm/template.yml,sha256=71Nk8ViYW8Oa3C9_F2sbugIT6bUytRkRZrEzQ-x6ZnA,5279
|
|
293
293
|
gbdtransformation/brands/nztm/__init__.py,sha256=UHmbQDIPDdApISBKfO9tKOX6LgUQ_Ib-IVMR5kCVMTY,86
|
|
294
294
|
gbdtransformation/brands/nztm/filters.py,sha256=dAjrg03Yq37H10oAM8rnAMNa71lZHuG1uMwHi25kIvA,4211
|
|
@@ -484,6 +484,10 @@ gbdtransformation/designs/alid/__init__.py,sha256=U1i1Qng034s7l_2No1yJKbHvUSnMWl
|
|
|
484
484
|
gbdtransformation/designs/alid/filters.py,sha256=bwE0eg3BCaoUlWT_U1BSvBIbKz1a2n0JTENJW-ZfD5s,1947
|
|
485
485
|
gbdtransformation/designs/alid/schema,sha256=4W6aAkQ4JFTzOEVGYRWlWpsieoIIWoVqhLLnGzI3MjM,3502
|
|
486
486
|
gbdtransformation/designs/alid/template.yml,sha256=PO7s1HDQM9ushIJuIX3z_dfWO-f62YDzBG_sYKDlnG8,34
|
|
487
|
+
gbdtransformation/designs/bgid/__init__.py,sha256=jLrJQ5nccnWItNDV4kmUdq-uo6ms500KnR9qchLry8Q,84
|
|
488
|
+
gbdtransformation/designs/bgid/filters.py,sha256=wDLEZ8GAtVl4UBVwtW59siB44tiSmJOCMDS-aKUEd7s,2897
|
|
489
|
+
gbdtransformation/designs/bgid/schema,sha256=WOLoyQZCQ_PYjsXODbJSE3vEPppqwm85K7thf5T7lKQ,3667
|
|
490
|
+
gbdtransformation/designs/bgid/template.yml,sha256=dAnTluo-554scf_FxYalZ7xHj8RfGfBIhFZurXAenZY,5860
|
|
487
491
|
gbdtransformation/designs/bnid/__init__.py,sha256=Y_X59eGmIFOkwWF4SkaxTQ3z7QAfIHGoL1VHM8ywbHo,87
|
|
488
492
|
gbdtransformation/designs/bnid/filters.py,sha256=vx4rZhlOIYzpYfMvm8baxuKfQZWml8dW58oN_I_NT6M,1644
|
|
489
493
|
gbdtransformation/designs/bnid/schema,sha256=BSzYzhQUcv3cLI-rDSLEEcIAOxMSIgQClvfKDVVTyak,3145
|
|
@@ -575,10 +579,10 @@ gbdtransformation/utilities/st66.xsd,sha256=co8aFN3a5TpudllRttWmfLeiZu8ulNipfeXm
|
|
|
575
579
|
schemas/ShazamConfig.py,sha256=D67os5B11C41h_WZ7kk54Ss0Kk7tHh8W0d_1c_aX-lY,1191
|
|
576
580
|
schemas/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
577
581
|
schemas/schema_extractor.py,sha256=3-ImtnI777f6b3VA0A_w-NoXdlGz5VZMzK6MnPdQQAY,10294
|
|
578
|
-
wipo_gbd_transformation-1.1.
|
|
579
|
-
wipo_gbd_transformation-1.1.
|
|
580
|
-
wipo_gbd_transformation-1.1.
|
|
581
|
-
wipo_gbd_transformation-1.1.
|
|
582
|
-
wipo_gbd_transformation-1.1.
|
|
583
|
-
wipo_gbd_transformation-1.1.
|
|
584
|
-
wipo_gbd_transformation-1.1.
|
|
582
|
+
wipo_gbd_transformation-1.1.56.dist-info/LICENSE.md,sha256=6r2dL13EwZqSt2ellLbJRFTA-6ECIDOer4YthCfkac0,35654
|
|
583
|
+
wipo_gbd_transformation-1.1.56.dist-info/METADATA,sha256=-GsZkwzqAtr15pV7LlkbNrADlvlquHLOkExZqpL2YGg,577
|
|
584
|
+
wipo_gbd_transformation-1.1.56.dist-info/SOURCES_Stefans-Mac-Studio.local_Sep-18-063455-2024_Conflict.txt,sha256=NeGxpq7lHSg1kaKoQE1hRDhEL5c39TAp008ptbN08NU,29740
|
|
585
|
+
wipo_gbd_transformation-1.1.56.dist-info/WHEEL,sha256=GJ7t_kWBFywbagK5eo9IoUwLW6oyOeTKmQ-9iHFVNxQ,92
|
|
586
|
+
wipo_gbd_transformation-1.1.56.dist-info/entry_points.txt,sha256=NFLtlP3mPHUi-hEoUcz4CXa7vcpP8bbwd18HS4arbEk,223
|
|
587
|
+
wipo_gbd_transformation-1.1.56.dist-info/top_level.txt,sha256=oU1j-JNLga18Fd-EV6Xl9wM8zxYoNVEzb7P8MDhTPJg,26
|
|
588
|
+
wipo_gbd_transformation-1.1.56.dist-info/RECORD,,
|
{wipo_gbd_transformation-1.1.55.dist-info → wipo_gbd_transformation-1.1.56.dist-info}/LICENSE.md
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{wipo_gbd_transformation-1.1.55.dist-info → wipo_gbd_transformation-1.1.56.dist-info}/top_level.txt
RENAMED
|
File without changes
|