wipo-gbd-transformation 1.1.38__py3-none-any.whl → 1.1.39__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/aptm/__init__.py +15 -0
- gbdtransformation/brands/aptm/filters.py +80 -0
- gbdtransformation/brands/aptm/schema +87 -0
- gbdtransformation/brands/aptm/template.yml +1 -0
- gbdtransformation/brands/aptm/tests/__init__.py +0 -0
- gbdtransformation/brands/ipas/filters.py +6 -1
- gbdtransformation/brands/oatm/__init__.py +18 -0
- gbdtransformation/brands/oatm/filters.py +82 -0
- gbdtransformation/brands/oatm/schema +87 -0
- gbdtransformation/brands/oatm/template.yml +1 -0
- gbdtransformation/brands/oatm/tests/__init__.py +0 -0
- gbdtransformation/brands/sttm/__init__.py +5 -3
- gbdtransformation/brands/sttm/filters.py +2 -0
- gbdtransformation/brands/tttm/__init__.py +17 -0
- gbdtransformation/brands/tttm/filters.py +79 -0
- gbdtransformation/brands/tttm/schema +87 -0
- gbdtransformation/brands/tttm/template.yml +1 -0
- gbdtransformation/brands/tttm/tests/__init__.py +0 -0
- gbdtransformation/execs.py +1 -1
- {wipo_gbd_transformation-1.1.38.dist-info → wipo_gbd_transformation-1.1.39.dist-info}/METADATA +1 -1
- {wipo_gbd_transformation-1.1.38.dist-info → wipo_gbd_transformation-1.1.39.dist-info}/RECORD +25 -10
- {wipo_gbd_transformation-1.1.38.dist-info → wipo_gbd_transformation-1.1.39.dist-info}/LICENSE.md +0 -0
- {wipo_gbd_transformation-1.1.38.dist-info → wipo_gbd_transformation-1.1.39.dist-info}/WHEEL +0 -0
- {wipo_gbd_transformation-1.1.38.dist-info → wipo_gbd_transformation-1.1.39.dist-info}/entry_points.txt +0 -0
- {wipo_gbd_transformation-1.1.38.dist-info → wipo_gbd_transformation-1.1.39.dist-info}/top_level.txt +0 -0
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
render = 'JSON'
|
|
2
|
+
source = 'national'
|
|
3
|
+
|
|
4
|
+
# TN/M/100/901864 # madrid
|
|
5
|
+
# TN/E/2002/001864 # etrangere
|
|
6
|
+
# TN/T/2019/001877 # local
|
|
7
|
+
# TN/S/2005/001886
|
|
8
|
+
appnum_mask = ['AP/(T|E|S|M)/\\d{4}/(\\d*)']
|
|
9
|
+
|
|
10
|
+
# 100/901864
|
|
11
|
+
# 2009/002484
|
|
12
|
+
# 001818
|
|
13
|
+
regnum_mask = [ '\\d*/(\\d*)',
|
|
14
|
+
'(\\d*)' ]
|
|
15
|
+
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
import gbdtransformation.brands.ipas.filters as ipas
|
|
2
|
+
import gbdtransformation.common.filters as commons
|
|
3
|
+
|
|
4
|
+
ignore_namespace = [
|
|
5
|
+
'http://www.wipo.int/standards/XMLSchema/trademarks',
|
|
6
|
+
'http://www.wipo.int/standards/XMLSchema/wo-trademarks']
|
|
7
|
+
|
|
8
|
+
def get_appdate(appdate, appnum):
|
|
9
|
+
return appnum.split('/')[-2].zfill(4)
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
def translate_type(header):
|
|
13
|
+
code = header.TransactionCode
|
|
14
|
+
if code == 'Trademark List': return 'TRADEMARK'
|
|
15
|
+
if code == 'Madrid Marks': return 'TRADEMARK'
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
raise Exception('Type "%s" is not mapped.' % code)
|
|
19
|
+
|
|
20
|
+
def translate_kind(trademark, header):
|
|
21
|
+
subcode = header.TransactionSubCode
|
|
22
|
+
|
|
23
|
+
if subcode == 'Trademark List': return ['Individual']
|
|
24
|
+
if subcode == 'Madrid Protocol': return ['Individual']
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
raise Exception('Kind "%s" not mapped.' % subcode)
|
|
28
|
+
|
|
29
|
+
def translate_status(trademark):
|
|
30
|
+
status = trademark.MarkCurrentStatusCode
|
|
31
|
+
|
|
32
|
+
return ipas.translate_status(status)
|
|
33
|
+
|
|
34
|
+
def translate_feature(trademark):
|
|
35
|
+
feature = trademark.MarkFeature
|
|
36
|
+
|
|
37
|
+
if not feature: return 'Undefined'
|
|
38
|
+
|
|
39
|
+
return ipas.translate_feature(feature)
|
|
40
|
+
|
|
41
|
+
def translate_event(event):
|
|
42
|
+
if ' ' in event:
|
|
43
|
+
event = event.split()[1].capitalize()
|
|
44
|
+
return ipas.translate_event(event)
|
|
45
|
+
|
|
46
|
+
# ---------------------------------------
|
|
47
|
+
# TODO: separate values like
|
|
48
|
+
# {'fr': ['PICO BELLO بيكوبالو']}
|
|
49
|
+
def verbal_lang_map(markVerbalElements, applang=None):
|
|
50
|
+
# print( ipas.verbal_lang_map(markVerbalElements, applang=applang))
|
|
51
|
+
return ipas.verbal_lang_map(markVerbalElements, applang=applang)
|
|
52
|
+
|
|
53
|
+
def get_registration_nb(trademark, tmstatus):
|
|
54
|
+
if trademark.RegistrationNumber:
|
|
55
|
+
return trademark.RegistrationNumber
|
|
56
|
+
|
|
57
|
+
if not tmstatus in ['Expired', 'Registered']:
|
|
58
|
+
return None
|
|
59
|
+
|
|
60
|
+
# a way to deduce the registration number
|
|
61
|
+
appnum_parts = trademark.ApplicationNumber.split('/')
|
|
62
|
+
regnum = '%s/%s' % (appnum_parts[-2], appnum_parts[-1])
|
|
63
|
+
return regnum
|
|
64
|
+
|
|
65
|
+
def get_expiry_date(trademark, tmstatus):
|
|
66
|
+
return ipas.get_expiry_date(trademark, tmstatus)
|
|
67
|
+
|
|
68
|
+
def get_registration_date(trademark, tmstatus):
|
|
69
|
+
return ipas.get_registration_date(trademark, tmstatus)
|
|
70
|
+
|
|
71
|
+
def is_international(header):
|
|
72
|
+
code = header.TransactionCode
|
|
73
|
+
return code == 'Marque Madrid'
|
|
74
|
+
|
|
75
|
+
# TN/M/100/673426
|
|
76
|
+
def get_ir_refnum(appnum):
|
|
77
|
+
return appnum.split('/')[-1]
|
|
78
|
+
|
|
79
|
+
def get_goods_services(goods_services):
|
|
80
|
+
return ipas.get_goods_services(goods_services)
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
/Transaction
|
|
2
|
+
__/TradeMarkTransactionBody
|
|
3
|
+
____/TransactionContentDetails
|
|
4
|
+
______/TransactionCode
|
|
5
|
+
______/TransactionData
|
|
6
|
+
________/TradeMarkApplication
|
|
7
|
+
__________/TradeMarkDetails
|
|
8
|
+
____________/TradeMark
|
|
9
|
+
______________/ApplicantDetails
|
|
10
|
+
________________/Applicant
|
|
11
|
+
__________________/ApplicantAddressBook
|
|
12
|
+
____________________/FormattedNameAddress
|
|
13
|
+
______________________/Address
|
|
14
|
+
________________________/AddressCountryCode
|
|
15
|
+
________________________/FreeFormatAddress
|
|
16
|
+
__________________________/FreeFormatAddressLine
|
|
17
|
+
______________________/Name
|
|
18
|
+
________________________/FreeFormatName
|
|
19
|
+
__________________________/FreeFormatNameDetails
|
|
20
|
+
____________________________/FreeFormatNameLine
|
|
21
|
+
____________________________/FreeFormatNameLine[@languageCode=en]
|
|
22
|
+
______________/ApplicationDate
|
|
23
|
+
______________/ApplicationLanguageCode
|
|
24
|
+
______________/ApplicationNumber
|
|
25
|
+
______________/ExpiryDate
|
|
26
|
+
______________/GoodsServicesDetails
|
|
27
|
+
________________/GoodsServices
|
|
28
|
+
__________________/ClassDescriptionDetails
|
|
29
|
+
____________________/ClassDescription
|
|
30
|
+
______________________/ClassNumber
|
|
31
|
+
______________________/GoodsServicesDescription
|
|
32
|
+
______________________/GoodsServicesDescription[@languageCode=en]
|
|
33
|
+
______________/KindMark
|
|
34
|
+
______________/MarkCurrentStatusCode
|
|
35
|
+
______________/MarkCurrentStatusDate
|
|
36
|
+
______________/MarkDisclaimerDetails
|
|
37
|
+
________________/MarkDisclaimer
|
|
38
|
+
________________/MarkDisclaimer[@languageCode=en]
|
|
39
|
+
______________/MarkEventDetails
|
|
40
|
+
________________/MarkEvent
|
|
41
|
+
__________________/MarkEventCode
|
|
42
|
+
__________________/MarkEventDate
|
|
43
|
+
__________________/OfficeSpecificMarkEventCode
|
|
44
|
+
__________________/OfficeSpecificMarkEventDescription
|
|
45
|
+
__________________/OfficeSpecificMarkEventDescription[@languageCode=en]
|
|
46
|
+
______________/MarkFeature
|
|
47
|
+
______________/MarkImageDetails
|
|
48
|
+
________________/MarkImage
|
|
49
|
+
__________________/MarkImageCategory
|
|
50
|
+
____________________/CategoryCodeDetails
|
|
51
|
+
______________________/CategoryCode
|
|
52
|
+
____________________/CategoryKind
|
|
53
|
+
____________________/CategoryVersion
|
|
54
|
+
__________________/MarkImageColourClaimedText
|
|
55
|
+
__________________/MarkImageColourClaimedText[@languageCode=en]
|
|
56
|
+
__________________/MarkImageFileFormat
|
|
57
|
+
__________________/MarkImageFilename
|
|
58
|
+
______________/PriorityDetails
|
|
59
|
+
________________/Priority
|
|
60
|
+
__________________/PriorityCountryCode
|
|
61
|
+
__________________/PriorityDate
|
|
62
|
+
__________________/PriorityNumber
|
|
63
|
+
______________/PublicationDetails
|
|
64
|
+
________________/Publication
|
|
65
|
+
__________________/PublicationDate
|
|
66
|
+
__________________/PublicationIdentifier
|
|
67
|
+
______________/RegistrationDate
|
|
68
|
+
______________/RegistrationNumber
|
|
69
|
+
______________/RegistrationOfficeCode
|
|
70
|
+
______________/RepresentativeDetails
|
|
71
|
+
________________/Representative
|
|
72
|
+
__________________/RepresentativeAddressBook
|
|
73
|
+
____________________/FormattedNameAddress
|
|
74
|
+
______________________/Address
|
|
75
|
+
________________________/AddressCountryCode
|
|
76
|
+
________________________/FreeFormatAddress
|
|
77
|
+
__________________________/FreeFormatAddressLine
|
|
78
|
+
______________________/Name
|
|
79
|
+
________________________/FreeFormatName
|
|
80
|
+
__________________________/FreeFormatNameDetails
|
|
81
|
+
____________________________/FreeFormatNameLine
|
|
82
|
+
____________________________/FreeFormatNameLine[@languageCode=en]
|
|
83
|
+
______________/WordMarkSpecification
|
|
84
|
+
________________/MarkVerbalElementText
|
|
85
|
+
________________/MarkVerbalElementText[@languageCode=en]
|
|
86
|
+
______/TransactionIdentifier
|
|
87
|
+
______/TransactionSubCode
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{% include "ipas/template.yml" %}
|
|
File without changes
|
|
@@ -26,7 +26,6 @@ def translate_event(event):
|
|
|
26
26
|
return event.capitalize()
|
|
27
27
|
|
|
28
28
|
if event.lower() == 'active': return 'Registered'
|
|
29
|
-
|
|
30
29
|
# raise Exception('Event "%s" not mapped.' % event)
|
|
31
30
|
return 'Unknown'
|
|
32
31
|
|
|
@@ -59,15 +58,20 @@ def translate_status(status):
|
|
|
59
58
|
if status == 'published': return 'Pending'
|
|
60
59
|
if status == 'examined': return 'Pending'
|
|
61
60
|
if status == 'filed': return 'Pending'
|
|
61
|
+
if status == 'application filed': return 'Pending'
|
|
62
62
|
if status == 'converted': return 'Pending'
|
|
63
63
|
if status == 'opposed': return 'Pending'
|
|
64
|
+
if status == 'application opposed': return 'Pending'
|
|
64
65
|
if status == 'pending': return 'Pending'
|
|
65
66
|
if status == 'appealed': return 'Pending'
|
|
66
67
|
if status == 'awaiting court action': return 'Pending'
|
|
67
68
|
if status == 'application published': return 'Pending'
|
|
68
69
|
if status == 'abandoned': return 'Ended'
|
|
69
70
|
if status == 'withdrawn': return 'Ended'
|
|
71
|
+
if status == 'registration surrendered': return 'Ended'
|
|
72
|
+
if status == 'application withdrawn': return 'Ended'
|
|
70
73
|
if status == 'rejected': return 'Ended'
|
|
74
|
+
if status == 'application refused': return 'Ended'
|
|
71
75
|
if status == 'finalrefusal': return 'Ended'
|
|
72
76
|
if status == 'suspended': return 'Ended'
|
|
73
77
|
if status == 'invalidated': return 'Ended'
|
|
@@ -76,6 +80,7 @@ def translate_status(status):
|
|
|
76
80
|
if status == 'renewed': return 'Registered'
|
|
77
81
|
if status == 'renewalprocess': return 'Registered'
|
|
78
82
|
if status == 'canceled': return 'Ended'
|
|
83
|
+
if status == 'registration cancelled': return 'Ended'
|
|
79
84
|
if status == 'cancelled': return 'Ended'
|
|
80
85
|
|
|
81
86
|
return 'Unknown'
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
render = 'JSON'
|
|
2
|
+
source = 'national'
|
|
3
|
+
|
|
4
|
+
# TN/M/100/901864 # madrid
|
|
5
|
+
# TN/E/2002/001864 # etrangere
|
|
6
|
+
# TN/T/2019/001877 # local
|
|
7
|
+
# TN/S/2005/001886
|
|
8
|
+
appnum_mask = ['MD/\\d{1}/\\d{4}/(\\d*)',
|
|
9
|
+
'OA/\\d{1}/\\d{4}/(\\d*)',
|
|
10
|
+
'(A|B)/\\d{1}/\\d{4}/(\\d*)',
|
|
11
|
+
]
|
|
12
|
+
|
|
13
|
+
# 100/901864
|
|
14
|
+
# 2009/002484
|
|
15
|
+
# 001818
|
|
16
|
+
regnum_mask = [ '\\d*/(\\d*)',
|
|
17
|
+
'(\\d*)' ]
|
|
18
|
+
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
import gbdtransformation.brands.ipas.filters as ipas
|
|
2
|
+
import gbdtransformation.common.filters as commons
|
|
3
|
+
|
|
4
|
+
ignore_namespace = [
|
|
5
|
+
'http://www.wipo.int/standards/XMLSchema/trademarks',
|
|
6
|
+
'http://www.wipo.int/standards/XMLSchema/wo-trademarks']
|
|
7
|
+
|
|
8
|
+
def get_appdate(appdate, appnum):
|
|
9
|
+
return appnum.split('/')[-2].zfill(4)
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
def translate_type(header):
|
|
13
|
+
code = header.TransactionCode
|
|
14
|
+
if code == 'MD Marque internationale': return 'TRADEMARK'
|
|
15
|
+
if code == 'MR Marque régionale': return 'TRADEMARK'
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
raise Exception('Type "%s" is not mapped.' % code)
|
|
19
|
+
|
|
20
|
+
def translate_kind(trademark, header):
|
|
21
|
+
subcode = header.TransactionSubCode
|
|
22
|
+
|
|
23
|
+
if subcode == 'MR Marque de services': return ['Individual']
|
|
24
|
+
if subcode == 'MR Marque de produits': return ['Individual']
|
|
25
|
+
if subcode == 'MR Marque collective': return ['Collective']
|
|
26
|
+
if subcode == 'MD Marque protocole Madrid': return ['Individual']
|
|
27
|
+
if subcode == 'MR-BG2015 Marque régionale': return ['Individual']
|
|
28
|
+
|
|
29
|
+
raise Exception('Kind "%s" not mapped.' % subcode)
|
|
30
|
+
|
|
31
|
+
def translate_status(trademark):
|
|
32
|
+
status = trademark.MarkCurrentStatusCode
|
|
33
|
+
|
|
34
|
+
return ipas.translate_status(status)
|
|
35
|
+
|
|
36
|
+
def translate_feature(trademark):
|
|
37
|
+
feature = trademark.MarkFeature
|
|
38
|
+
|
|
39
|
+
if not feature: return 'Undefined'
|
|
40
|
+
|
|
41
|
+
return ipas.translate_feature(feature)
|
|
42
|
+
|
|
43
|
+
def translate_event(event):
|
|
44
|
+
if ' ' in event:
|
|
45
|
+
event = event.split()[1].capitalize()
|
|
46
|
+
return ipas.translate_event(event)
|
|
47
|
+
|
|
48
|
+
# ---------------------------------------
|
|
49
|
+
# TODO: separate values like
|
|
50
|
+
# {'fr': ['PICO BELLO بيكوبالو']}
|
|
51
|
+
def verbal_lang_map(markVerbalElements, applang=None):
|
|
52
|
+
# print( ipas.verbal_lang_map(markVerbalElements, applang=applang))
|
|
53
|
+
return ipas.verbal_lang_map(markVerbalElements, applang=applang)
|
|
54
|
+
|
|
55
|
+
def get_registration_nb(trademark, tmstatus):
|
|
56
|
+
if trademark.RegistrationNumber:
|
|
57
|
+
return trademark.RegistrationNumber
|
|
58
|
+
|
|
59
|
+
if not tmstatus in ['Expired', 'Registered']:
|
|
60
|
+
return None
|
|
61
|
+
|
|
62
|
+
# a way to deduce the registration number
|
|
63
|
+
appnum_parts = trademark.ApplicationNumber.split('/')
|
|
64
|
+
regnum = '%s/%s' % (appnum_parts[-2], appnum_parts[-1])
|
|
65
|
+
return regnum
|
|
66
|
+
|
|
67
|
+
def get_expiry_date(trademark, tmstatus):
|
|
68
|
+
return ipas.get_expiry_date(trademark, tmstatus)
|
|
69
|
+
|
|
70
|
+
def get_registration_date(trademark, tmstatus):
|
|
71
|
+
return ipas.get_registration_date(trademark, tmstatus)
|
|
72
|
+
|
|
73
|
+
def is_international(header):
|
|
74
|
+
code = header.TransactionCode
|
|
75
|
+
return code == 'Marque Madrid'
|
|
76
|
+
|
|
77
|
+
# TN/M/100/673426
|
|
78
|
+
def get_ir_refnum(appnum):
|
|
79
|
+
return appnum.split('/')[-1]
|
|
80
|
+
|
|
81
|
+
def get_goods_services(goods_services):
|
|
82
|
+
return ipas.get_goods_services(goods_services)
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
/Transaction
|
|
2
|
+
__/TradeMarkTransactionBody
|
|
3
|
+
____/TransactionContentDetails
|
|
4
|
+
______/TransactionCode
|
|
5
|
+
______/TransactionData
|
|
6
|
+
________/TradeMarkApplication
|
|
7
|
+
__________/TradeMarkDetails
|
|
8
|
+
____________/TradeMark
|
|
9
|
+
______________/ApplicantDetails
|
|
10
|
+
________________/Applicant
|
|
11
|
+
__________________/ApplicantAddressBook
|
|
12
|
+
____________________/FormattedNameAddress
|
|
13
|
+
______________________/Address
|
|
14
|
+
________________________/AddressCountryCode
|
|
15
|
+
________________________/FreeFormatAddress
|
|
16
|
+
__________________________/FreeFormatAddressLine
|
|
17
|
+
______________________/Name
|
|
18
|
+
________________________/FreeFormatName
|
|
19
|
+
__________________________/FreeFormatNameDetails
|
|
20
|
+
____________________________/FreeFormatNameLine
|
|
21
|
+
____________________________/FreeFormatNameLine[@languageCode=en]
|
|
22
|
+
______________/ApplicationDate
|
|
23
|
+
______________/ApplicationLanguageCode
|
|
24
|
+
______________/ApplicationNumber
|
|
25
|
+
______________/ExpiryDate
|
|
26
|
+
______________/GoodsServicesDetails
|
|
27
|
+
________________/GoodsServices
|
|
28
|
+
__________________/ClassDescriptionDetails
|
|
29
|
+
____________________/ClassDescription
|
|
30
|
+
______________________/ClassNumber
|
|
31
|
+
______________________/GoodsServicesDescription
|
|
32
|
+
______________________/GoodsServicesDescription[@languageCode=en]
|
|
33
|
+
______________/KindMark
|
|
34
|
+
______________/MarkCurrentStatusCode
|
|
35
|
+
______________/MarkCurrentStatusDate
|
|
36
|
+
______________/MarkDisclaimerDetails
|
|
37
|
+
________________/MarkDisclaimer
|
|
38
|
+
________________/MarkDisclaimer[@languageCode=en]
|
|
39
|
+
______________/MarkEventDetails
|
|
40
|
+
________________/MarkEvent
|
|
41
|
+
__________________/MarkEventCode
|
|
42
|
+
__________________/MarkEventDate
|
|
43
|
+
__________________/OfficeSpecificMarkEventCode
|
|
44
|
+
__________________/OfficeSpecificMarkEventDescription
|
|
45
|
+
__________________/OfficeSpecificMarkEventDescription[@languageCode=en]
|
|
46
|
+
______________/MarkFeature
|
|
47
|
+
______________/MarkImageDetails
|
|
48
|
+
________________/MarkImage
|
|
49
|
+
__________________/MarkImageCategory
|
|
50
|
+
____________________/CategoryCodeDetails
|
|
51
|
+
______________________/CategoryCode
|
|
52
|
+
____________________/CategoryKind
|
|
53
|
+
____________________/CategoryVersion
|
|
54
|
+
__________________/MarkImageColourClaimedText
|
|
55
|
+
__________________/MarkImageColourClaimedText[@languageCode=en]
|
|
56
|
+
__________________/MarkImageFileFormat
|
|
57
|
+
__________________/MarkImageFilename
|
|
58
|
+
______________/PriorityDetails
|
|
59
|
+
________________/Priority
|
|
60
|
+
__________________/PriorityCountryCode
|
|
61
|
+
__________________/PriorityDate
|
|
62
|
+
__________________/PriorityNumber
|
|
63
|
+
______________/PublicationDetails
|
|
64
|
+
________________/Publication
|
|
65
|
+
__________________/PublicationDate
|
|
66
|
+
__________________/PublicationIdentifier
|
|
67
|
+
______________/RegistrationDate
|
|
68
|
+
______________/RegistrationNumber
|
|
69
|
+
______________/RegistrationOfficeCode
|
|
70
|
+
______________/RepresentativeDetails
|
|
71
|
+
________________/Representative
|
|
72
|
+
__________________/RepresentativeAddressBook
|
|
73
|
+
____________________/FormattedNameAddress
|
|
74
|
+
______________________/Address
|
|
75
|
+
________________________/AddressCountryCode
|
|
76
|
+
________________________/FreeFormatAddress
|
|
77
|
+
__________________________/FreeFormatAddressLine
|
|
78
|
+
______________________/Name
|
|
79
|
+
________________________/FreeFormatName
|
|
80
|
+
__________________________/FreeFormatNameDetails
|
|
81
|
+
____________________________/FreeFormatNameLine
|
|
82
|
+
____________________________/FreeFormatNameLine[@languageCode=en]
|
|
83
|
+
______________/WordMarkSpecification
|
|
84
|
+
________________/MarkVerbalElementText
|
|
85
|
+
________________/MarkVerbalElementText[@languageCode=en]
|
|
86
|
+
______/TransactionIdentifier
|
|
87
|
+
______/TransactionSubCode
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{% include "ipas/template.yml" %}
|
|
File without changes
|
|
@@ -5,9 +5,11 @@ source = 'national'
|
|
|
5
5
|
# TN/E/2002/001864 # etrangere
|
|
6
6
|
# TN/T/2019/001877 # local
|
|
7
7
|
# TN/S/2005/001886
|
|
8
|
-
appnum_mask = [ '
|
|
9
|
-
'
|
|
10
|
-
'([A-
|
|
8
|
+
appnum_mask = [ 'MD/(T|E|S|M)/\\d*/(\\d*)',
|
|
9
|
+
'ST/\\d{1}/\\d*/(\\d*)',
|
|
10
|
+
'([A-Z])/T/\\d{1}/(\\d*)',
|
|
11
|
+
'AP/\\d{1}/(\\d{4})/(\\d*)'
|
|
12
|
+
]
|
|
11
13
|
|
|
12
14
|
# 100/901864
|
|
13
15
|
# 2009/002484
|
|
@@ -13,12 +13,14 @@ def translate_type(header):
|
|
|
13
13
|
code = header.TransactionCode
|
|
14
14
|
|
|
15
15
|
if code == 'Madrid Trademark': return 'TRADEMARK'
|
|
16
|
+
if code == 'MNA Marcas nacionais': return 'TRADEMARK'
|
|
16
17
|
|
|
17
18
|
raise Exception('Type "%s" is not mapped.' % code)
|
|
18
19
|
|
|
19
20
|
def translate_kind(trademark, header):
|
|
20
21
|
subcode = header.TransactionSubCode
|
|
21
22
|
if subcode == 'Madrid Protocol': return ['Individual']
|
|
23
|
+
if subcode == 'MNA Industrial e Comercial': return ['Individual']
|
|
22
24
|
|
|
23
25
|
raise Exception('Kind "%s" not mapped.' % subcode)
|
|
24
26
|
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
render = 'JSON'
|
|
2
|
+
source = 'national'
|
|
3
|
+
|
|
4
|
+
# TN/M/100/901864 # madrid
|
|
5
|
+
# TN/E/2002/001864 # etrangere
|
|
6
|
+
# TN/T/2019/001877 # local
|
|
7
|
+
# TN/S/2005/001886
|
|
8
|
+
appnum_mask = ['TT/(T|E|S|M)/\\d*/(\\d*)',
|
|
9
|
+
'(N|A|B|C|D|I)/(T|E|S|M|I)/\\d*/(\\d*)',
|
|
10
|
+
'MD/I/\\d*/(\\d*)']
|
|
11
|
+
|
|
12
|
+
# 100/901864
|
|
13
|
+
# 2009/002484
|
|
14
|
+
# 001818
|
|
15
|
+
regnum_mask = [ '\\d*/(\\d*)',
|
|
16
|
+
'(\\d*)' ]
|
|
17
|
+
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
import gbdtransformation.brands.ipas.filters as ipas
|
|
2
|
+
import gbdtransformation.common.filters as commons
|
|
3
|
+
|
|
4
|
+
ignore_namespace = [
|
|
5
|
+
'http://www.wipo.int/standards/XMLSchema/trademarks',
|
|
6
|
+
'http://www.wipo.int/standards/XMLSchema/wo-trademarks']
|
|
7
|
+
|
|
8
|
+
def get_appdate(appdate, appnum):
|
|
9
|
+
return appnum.split('/')[-2].zfill(4)
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
def translate_type(header):
|
|
13
|
+
code = header.TransactionCode
|
|
14
|
+
if code == 'Mark appl.': return 'TRADEMARK'
|
|
15
|
+
if code == 'Madrid Marks': return 'TRADEMARK'
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
raise Exception('Type "%s" is not mapped.' % code)
|
|
19
|
+
|
|
20
|
+
def translate_kind(trademark, header):
|
|
21
|
+
subcode = header.TransactionSubCode
|
|
22
|
+
|
|
23
|
+
if subcode == 'Trademark': return ['Individual']
|
|
24
|
+
if subcode == 'Trademark Part B': return ['Individual']
|
|
25
|
+
if subcode == 'Madrid Protocol': return ['Individual']
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
raise Exception('Kind "%s" not mapped.' % subcode)
|
|
29
|
+
|
|
30
|
+
def translate_status(trademark):
|
|
31
|
+
status = trademark.MarkCurrentStatusCode
|
|
32
|
+
|
|
33
|
+
return ipas.translate_status(status)
|
|
34
|
+
|
|
35
|
+
def translate_feature(trademark):
|
|
36
|
+
feature = trademark.MarkFeature
|
|
37
|
+
|
|
38
|
+
if not feature: return 'Undefined'
|
|
39
|
+
|
|
40
|
+
return ipas.translate_feature(feature)
|
|
41
|
+
|
|
42
|
+
def translate_event(event):
|
|
43
|
+
return ipas.translate_event(event)
|
|
44
|
+
|
|
45
|
+
# ---------------------------------------
|
|
46
|
+
# TODO: separate values like
|
|
47
|
+
# {'fr': ['PICO BELLO بيكوبالو']}
|
|
48
|
+
def verbal_lang_map(markVerbalElements, applang=None):
|
|
49
|
+
# print( ipas.verbal_lang_map(markVerbalElements, applang=applang))
|
|
50
|
+
return ipas.verbal_lang_map(markVerbalElements, applang=applang)
|
|
51
|
+
|
|
52
|
+
def get_registration_nb(trademark, tmstatus):
|
|
53
|
+
if trademark.RegistrationNumber:
|
|
54
|
+
return trademark.RegistrationNumber
|
|
55
|
+
|
|
56
|
+
if not tmstatus in ['Expired', 'Registered']:
|
|
57
|
+
return None
|
|
58
|
+
|
|
59
|
+
# a way to deduce the registration number
|
|
60
|
+
appnum_parts = trademark.ApplicationNumber.split('/')
|
|
61
|
+
regnum = '%s/%s' % (appnum_parts[-2], appnum_parts[-1])
|
|
62
|
+
return regnum
|
|
63
|
+
|
|
64
|
+
def get_expiry_date(trademark, tmstatus):
|
|
65
|
+
return ipas.get_expiry_date(trademark, tmstatus)
|
|
66
|
+
|
|
67
|
+
def get_registration_date(trademark, tmstatus):
|
|
68
|
+
return ipas.get_registration_date(trademark, tmstatus)
|
|
69
|
+
|
|
70
|
+
def is_international(header):
|
|
71
|
+
code = header.TransactionCode
|
|
72
|
+
return code == 'Marque Madrid'
|
|
73
|
+
|
|
74
|
+
# TN/M/100/673426
|
|
75
|
+
def get_ir_refnum(appnum):
|
|
76
|
+
return appnum.split('/')[-1]
|
|
77
|
+
|
|
78
|
+
def get_goods_services(goods_services):
|
|
79
|
+
return ipas.get_goods_services(goods_services)
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
/Transaction
|
|
2
|
+
__/TradeMarkTransactionBody
|
|
3
|
+
____/TransactionContentDetails
|
|
4
|
+
______/TransactionCode
|
|
5
|
+
______/TransactionData
|
|
6
|
+
________/TradeMarkApplication
|
|
7
|
+
__________/TradeMarkDetails
|
|
8
|
+
____________/TradeMark
|
|
9
|
+
______________/ApplicantDetails
|
|
10
|
+
________________/Applicant
|
|
11
|
+
__________________/ApplicantAddressBook
|
|
12
|
+
____________________/FormattedNameAddress
|
|
13
|
+
______________________/Address
|
|
14
|
+
________________________/AddressCountryCode
|
|
15
|
+
________________________/FreeFormatAddress
|
|
16
|
+
__________________________/FreeFormatAddressLine
|
|
17
|
+
______________________/Name
|
|
18
|
+
________________________/FreeFormatName
|
|
19
|
+
__________________________/FreeFormatNameDetails
|
|
20
|
+
____________________________/FreeFormatNameLine
|
|
21
|
+
____________________________/FreeFormatNameLine[@languageCode=en]
|
|
22
|
+
______________/ApplicationDate
|
|
23
|
+
______________/ApplicationLanguageCode
|
|
24
|
+
______________/ApplicationNumber
|
|
25
|
+
______________/ExpiryDate
|
|
26
|
+
______________/GoodsServicesDetails
|
|
27
|
+
________________/GoodsServices
|
|
28
|
+
__________________/ClassDescriptionDetails
|
|
29
|
+
____________________/ClassDescription
|
|
30
|
+
______________________/ClassNumber
|
|
31
|
+
______________________/GoodsServicesDescription
|
|
32
|
+
______________________/GoodsServicesDescription[@languageCode=en]
|
|
33
|
+
______________/KindMark
|
|
34
|
+
______________/MarkCurrentStatusCode
|
|
35
|
+
______________/MarkCurrentStatusDate
|
|
36
|
+
______________/MarkDisclaimerDetails
|
|
37
|
+
________________/MarkDisclaimer
|
|
38
|
+
________________/MarkDisclaimer[@languageCode=en]
|
|
39
|
+
______________/MarkEventDetails
|
|
40
|
+
________________/MarkEvent
|
|
41
|
+
__________________/MarkEventCode
|
|
42
|
+
__________________/MarkEventDate
|
|
43
|
+
__________________/OfficeSpecificMarkEventCode
|
|
44
|
+
__________________/OfficeSpecificMarkEventDescription
|
|
45
|
+
__________________/OfficeSpecificMarkEventDescription[@languageCode=en]
|
|
46
|
+
______________/MarkFeature
|
|
47
|
+
______________/MarkImageDetails
|
|
48
|
+
________________/MarkImage
|
|
49
|
+
__________________/MarkImageCategory
|
|
50
|
+
____________________/CategoryCodeDetails
|
|
51
|
+
______________________/CategoryCode
|
|
52
|
+
____________________/CategoryKind
|
|
53
|
+
____________________/CategoryVersion
|
|
54
|
+
__________________/MarkImageColourClaimedText
|
|
55
|
+
__________________/MarkImageColourClaimedText[@languageCode=en]
|
|
56
|
+
__________________/MarkImageFileFormat
|
|
57
|
+
__________________/MarkImageFilename
|
|
58
|
+
______________/PriorityDetails
|
|
59
|
+
________________/Priority
|
|
60
|
+
__________________/PriorityCountryCode
|
|
61
|
+
__________________/PriorityDate
|
|
62
|
+
__________________/PriorityNumber
|
|
63
|
+
______________/PublicationDetails
|
|
64
|
+
________________/Publication
|
|
65
|
+
__________________/PublicationDate
|
|
66
|
+
__________________/PublicationIdentifier
|
|
67
|
+
______________/RegistrationDate
|
|
68
|
+
______________/RegistrationNumber
|
|
69
|
+
______________/RegistrationOfficeCode
|
|
70
|
+
______________/RepresentativeDetails
|
|
71
|
+
________________/Representative
|
|
72
|
+
__________________/RepresentativeAddressBook
|
|
73
|
+
____________________/FormattedNameAddress
|
|
74
|
+
______________________/Address
|
|
75
|
+
________________________/AddressCountryCode
|
|
76
|
+
________________________/FreeFormatAddress
|
|
77
|
+
__________________________/FreeFormatAddressLine
|
|
78
|
+
______________________/Name
|
|
79
|
+
________________________/FreeFormatName
|
|
80
|
+
__________________________/FreeFormatNameDetails
|
|
81
|
+
____________________________/FreeFormatNameLine
|
|
82
|
+
____________________________/FreeFormatNameLine[@languageCode=en]
|
|
83
|
+
______________/WordMarkSpecification
|
|
84
|
+
________________/MarkVerbalElementText
|
|
85
|
+
________________/MarkVerbalElementText[@languageCode=en]
|
|
86
|
+
______/TransactionIdentifier
|
|
87
|
+
______/TransactionSubCode
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{% include "ipas/template.yml" %}
|
|
File without changes
|
gbdtransformation/execs.py
CHANGED
|
@@ -514,7 +514,7 @@ def run():
|
|
|
514
514
|
buffer = []
|
|
515
515
|
for root, dirs, files in os.walk(root_path):
|
|
516
516
|
for f in files:
|
|
517
|
-
if f.endswith('.xml.gz')
|
|
517
|
+
if f.endswith('.xml.gz') or f.endswith('.xml'):
|
|
518
518
|
buffer.append(os.path.join(root_path, root, f))
|
|
519
519
|
if len(buffer) == nb:
|
|
520
520
|
return buffer
|
{wipo_gbd_transformation-1.1.38.dist-info → wipo_gbd_transformation-1.1.39.dist-info}/RECORD
RENAMED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
gbdtransformation/.DS_Store,sha256=0P5iuLZ7zgY5l38MNfo5m8w3yfR_rIdKFFFjvnF0ws4,6148
|
|
2
2
|
gbdtransformation/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
3
|
-
gbdtransformation/execs.py,sha256=
|
|
3
|
+
gbdtransformation/execs.py,sha256=c36fHKA61mZ5bIiwvQMenuYHF2mJnqjNGMJtVLXKA5M,23510
|
|
4
4
|
gbdtransformation/parser.py,sha256=m6b1J0kJEaEDc0I8HKxzzN2nsQWKFfLlQqS3nT02kb4,7074
|
|
5
5
|
gbdtransformation/renders.py,sha256=RmvQgugnG2ErvDxP4I9yovW67gEZNpOd59nrzEYfQPI,4555
|
|
6
6
|
gbdtransformation/brands/__init__.py,sha256=abDdinNkilR-qYg4dhVxP_e1-ZixCzVuHGxbFt710TE,1605
|
|
@@ -16,6 +16,11 @@ gbdtransformation/brands/altm/schema,sha256=UFy6y1WnVcb1OqPXCxD7CpkABAfOjF6Uwwdk
|
|
|
16
16
|
gbdtransformation/brands/altm/template.yml,sha256=PO7s1HDQM9ushIJuIX3z_dfWO-f62YDzBG_sYKDlnG8,34
|
|
17
17
|
gbdtransformation/brands/altm/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
18
18
|
gbdtransformation/brands/altm/tests/altm.xml,sha256=ReEY9m7_VYFY1hhSI1sFFkb4E2T_sPVFSEtU5o6qBRM,4396
|
|
19
|
+
gbdtransformation/brands/aptm/__init__.py,sha256=nZe2TdzOrGfwUmSYrcrNL5qINthihQQHii16u04sWag,282
|
|
20
|
+
gbdtransformation/brands/aptm/filters.py,sha256=lauFdrfz8wtzs6gHqWhNmE3z0o7s5j9raM1wH7DxBnQ,2376
|
|
21
|
+
gbdtransformation/brands/aptm/schema,sha256=AP0MxQyD0hY4APRh8nxitlxMqJYJB4AaaTJ8y20-XBA,3283
|
|
22
|
+
gbdtransformation/brands/aptm/template.yml,sha256=PO7s1HDQM9ushIJuIX3z_dfWO-f62YDzBG_sYKDlnG8,34
|
|
23
|
+
gbdtransformation/brands/aptm/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
19
24
|
gbdtransformation/brands/attm/__init__.py,sha256=_4Pwyp0Q0_aVKGzham3fR-kwz0VEMNulwRV6cxCleo8,183
|
|
20
25
|
gbdtransformation/brands/attm/filters.py,sha256=iQSq5YvrbCGzsBXQVgOaX5q7cxAeiqooTcKDsfQ5xyQ,2132
|
|
21
26
|
gbdtransformation/brands/attm/schema,sha256=qVTJ_da77BzoqVIbkQgKJFlzU_BeAs6K6OyJX0u_9pc,788
|
|
@@ -157,7 +162,7 @@ gbdtransformation/brands/intm/filters.py,sha256=uIwop7-MBhWgIU4WzGAH4jjzVUu8Y1Fq
|
|
|
157
162
|
gbdtransformation/brands/intm/schema,sha256=FD9pdh6E4XKAHuHM2xUlKpOs9jGU-JdvhZowPi9YJOg,4546
|
|
158
163
|
gbdtransformation/brands/intm/template.yml,sha256=dbNgDgiDjzHz1kXObb0_J_ZIDcTE7z_J6T9wlZGUmzs,5427
|
|
159
164
|
gbdtransformation/brands/ipas/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
160
|
-
gbdtransformation/brands/ipas/filters.py,sha256=
|
|
165
|
+
gbdtransformation/brands/ipas/filters.py,sha256=cjHa9yciQfUWC2XehqcluwLODbajU8yZvleATpKI6-4,6561
|
|
161
166
|
gbdtransformation/brands/ipas/template.yml,sha256=TMD1OLKdxGN9XLc6gjTIArM0bXjT0hwQbam4PTvxAzE,7402
|
|
162
167
|
gbdtransformation/brands/istm/__init__.py,sha256=Odl0eAIHwvFrNHxJCqM-9Yht1kcLcXJSZDpJbSLXeq0,192
|
|
163
168
|
gbdtransformation/brands/istm/filters.py,sha256=t5FgtEkD3mcxQgiNzXWlHSl0LikxNX0x1Cuz2V0_99Y,2145
|
|
@@ -274,6 +279,11 @@ gbdtransformation/brands/nztm/__init__.py,sha256=UHmbQDIPDdApISBKfO9tKOX6LgUQ_Ib
|
|
|
274
279
|
gbdtransformation/brands/nztm/filters.py,sha256=dAjrg03Yq37H10oAM8rnAMNa71lZHuG1uMwHi25kIvA,4211
|
|
275
280
|
gbdtransformation/brands/nztm/schema,sha256=tpcyNMtmiBQQ0FsxKKTASRSo4nbrw0j0_b1nhELyAzE,6355
|
|
276
281
|
gbdtransformation/brands/nztm/template.yml,sha256=IFvjecHfTb1Q96OsqKly-GgKwdJJgnjbp-MhmtYagus,6053
|
|
282
|
+
gbdtransformation/brands/oatm/__init__.py,sha256=tOEPGuYzJlW0wEgqucA6xs-CsaXYygFefmw9hBq-LuI,384
|
|
283
|
+
gbdtransformation/brands/oatm/filters.py,sha256=tZv4Li0kKBjr5xF1r-ltNqTk6et0sM6QYJaXX3v8fiQ,2613
|
|
284
|
+
gbdtransformation/brands/oatm/schema,sha256=AP0MxQyD0hY4APRh8nxitlxMqJYJB4AaaTJ8y20-XBA,3283
|
|
285
|
+
gbdtransformation/brands/oatm/template.yml,sha256=PO7s1HDQM9ushIJuIX3z_dfWO-f62YDzBG_sYKDlnG8,34
|
|
286
|
+
gbdtransformation/brands/oatm/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
277
287
|
gbdtransformation/brands/omtm/__init__.py,sha256=TaAW7tjZr5whmeL-yXHVy93hiy8_Wf3sXy0LG-wKiK4,128
|
|
278
288
|
gbdtransformation/brands/omtm/filters.py,sha256=drnIHzkYZ498DclgFrI5Urq5eyHcRi54xYUFAhiHDvM,1632
|
|
279
289
|
gbdtransformation/brands/omtm/schema,sha256=TFrF4FR76cytcbtQkDWxtF74I0tCPRDIvWRFeqaJt6Q,3242
|
|
@@ -328,8 +338,8 @@ gbdtransformation/brands/solrjtm/template.yml,sha256=BsQ6kF6zL75-jiQf_oyd9-tK_nI
|
|
|
328
338
|
gbdtransformation/brands/st66tm/__init__.py,sha256=eo-VOjP-c_LVVX1MdULyED0rgL4XiK5JvliI48B6m94,15
|
|
329
339
|
gbdtransformation/brands/st66tm/filters.py,sha256=Q6l2f7sZZF4m5q7W-wtmDpuvL9qrJZUByG_-GDR8woo,1129
|
|
330
340
|
gbdtransformation/brands/st66tm/st66tm.tmpl,sha256=6ZgyUYNWBfTwzQMl8V937eXYOncLFD79Pn3I8axzXbA,10696
|
|
331
|
-
gbdtransformation/brands/sttm/__init__.py,sha256=
|
|
332
|
-
gbdtransformation/brands/sttm/filters.py,sha256=
|
|
341
|
+
gbdtransformation/brands/sttm/__init__.py,sha256=A2xBl2w3GgsMz0AYqZQOGcKcXVBvUK0LzcvNMv8cnNA,426
|
|
342
|
+
gbdtransformation/brands/sttm/filters.py,sha256=qwRGreY_n6vgQxjH5whv_nixEWWkrpX4vuvgo4xHMZ0,2218
|
|
333
343
|
gbdtransformation/brands/sttm/schema,sha256=Ak4UCFjcrPTlewCGqUEkXTBMGJ7x8jJo24hWzS3E9wE,3078
|
|
334
344
|
gbdtransformation/brands/sttm/template.yml,sha256=PO7s1HDQM9ushIJuIX3z_dfWO-f62YDzBG_sYKDlnG8,34
|
|
335
345
|
gbdtransformation/brands/sttm/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
@@ -357,6 +367,11 @@ gbdtransformation/brands/totm/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQ
|
|
|
357
367
|
gbdtransformation/brands/totm/tests/nofeature.xml,sha256=5UEVp1GiR1YaOV2xSBkJoQXEHB6ZgyeixGwOmQ65kRY,5224
|
|
358
368
|
gbdtransformation/brands/totm/tests/syntax.xml,sha256=GdS-t8aRxUAgBARLNyrnKFdCe9SaG-k2H2SiZSn61GU,17369
|
|
359
369
|
gbdtransformation/brands/totm/tests/test.xml.gz,sha256=t3u3Pb2I_vgHU9AZJhw_FTOqoVglBLUcrL3S8HgbRsk,857
|
|
370
|
+
gbdtransformation/brands/tttm/__init__.py,sha256=3-V9gaMDhZfDdvqWDt9vk-40QW11CS_EpkqZoqyDdlQ,371
|
|
371
|
+
gbdtransformation/brands/tttm/filters.py,sha256=EqevyyqzjNkEesSJ-pcE7iMW2vqLzvtv_mZmNtbFIDk,2360
|
|
372
|
+
gbdtransformation/brands/tttm/schema,sha256=AP0MxQyD0hY4APRh8nxitlxMqJYJB4AaaTJ8y20-XBA,3283
|
|
373
|
+
gbdtransformation/brands/tttm/template.yml,sha256=PO7s1HDQM9ushIJuIX3z_dfWO-f62YDzBG_sYKDlnG8,34
|
|
374
|
+
gbdtransformation/brands/tttm/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
360
375
|
gbdtransformation/brands/uatm/__init__.py,sha256=CLZvaGREoJUDCyrrMWlsyBs1Fe6lJHPBUK--xmV60FI,430
|
|
361
376
|
gbdtransformation/brands/uatm/filters.py,sha256=Er8L7T5If-2s_oDZIhgIpUKBTHR9gN1ZVlG_csLmrT4,2202
|
|
362
377
|
gbdtransformation/brands/uatm/schema,sha256=xyi3dhfyhzwFzeNA4vl5CZ_3FGNm6kcePHQt4Nd_qWM,4318
|
|
@@ -469,9 +484,9 @@ gbdtransformation/utilities/st66.xsd,sha256=co8aFN3a5TpudllRttWmfLeiZu8ulNipfeXm
|
|
|
469
484
|
schemas/ShazamConfig.py,sha256=D67os5B11C41h_WZ7kk54Ss0Kk7tHh8W0d_1c_aX-lY,1191
|
|
470
485
|
schemas/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
471
486
|
schemas/schema_extractor.py,sha256=3-ImtnI777f6b3VA0A_w-NoXdlGz5VZMzK6MnPdQQAY,10294
|
|
472
|
-
wipo_gbd_transformation-1.1.
|
|
473
|
-
wipo_gbd_transformation-1.1.
|
|
474
|
-
wipo_gbd_transformation-1.1.
|
|
475
|
-
wipo_gbd_transformation-1.1.
|
|
476
|
-
wipo_gbd_transformation-1.1.
|
|
477
|
-
wipo_gbd_transformation-1.1.
|
|
487
|
+
wipo_gbd_transformation-1.1.39.dist-info/LICENSE.md,sha256=6r2dL13EwZqSt2ellLbJRFTA-6ECIDOer4YthCfkac0,35654
|
|
488
|
+
wipo_gbd_transformation-1.1.39.dist-info/METADATA,sha256=lKfMZ4EYWOF_TEoIq7SLLdzrvudDpKhNnjyyScaj_aE,485
|
|
489
|
+
wipo_gbd_transformation-1.1.39.dist-info/WHEEL,sha256=2wepM1nk4DS4eFpYrW1TTqPcoGNfHhhO_i5m4cOimbo,92
|
|
490
|
+
wipo_gbd_transformation-1.1.39.dist-info/entry_points.txt,sha256=CiiRxivMelcgA7W_4rzY1fG-AGEarhpXQUlKYzKWsOI,165
|
|
491
|
+
wipo_gbd_transformation-1.1.39.dist-info/top_level.txt,sha256=oU1j-JNLga18Fd-EV6Xl9wM8zxYoNVEzb7P8MDhTPJg,26
|
|
492
|
+
wipo_gbd_transformation-1.1.39.dist-info/RECORD,,
|
{wipo_gbd_transformation-1.1.38.dist-info → wipo_gbd_transformation-1.1.39.dist-info}/LICENSE.md
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{wipo_gbd_transformation-1.1.38.dist-info → wipo_gbd_transformation-1.1.39.dist-info}/top_level.txt
RENAMED
|
File without changes
|