wipo-gbd-transformation 1.1.105__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.
Files changed (607) hide show
  1. gbdtransformation/__init__.py +0 -0
  2. gbdtransformation/brands/__init__.py +44 -0
  3. gbdtransformation/brands/aetm/__init__.py +5 -0
  4. gbdtransformation/brands/aetm/filters.py +84 -0
  5. gbdtransformation/brands/aetm/schema +87 -0
  6. gbdtransformation/brands/aetm/template.yml +1 -0
  7. gbdtransformation/brands/aetm/tests/__init__.py +0 -0
  8. gbdtransformation/brands/altm/__init__.py +6 -0
  9. gbdtransformation/brands/altm/filters.py +107 -0
  10. gbdtransformation/brands/altm/schema +83 -0
  11. gbdtransformation/brands/altm/template.yml +1 -0
  12. gbdtransformation/brands/altm/tests/__init__.py +0 -0
  13. gbdtransformation/brands/altm/tests/altm.xml +93 -0
  14. gbdtransformation/brands/aptm/__init__.py +15 -0
  15. gbdtransformation/brands/aptm/filters.py +80 -0
  16. gbdtransformation/brands/aptm/schema +87 -0
  17. gbdtransformation/brands/aptm/template.yml +1 -0
  18. gbdtransformation/brands/aptm/tests/__init__.py +0 -0
  19. gbdtransformation/brands/attm/__init__.py +6 -0
  20. gbdtransformation/brands/attm/filters.py +76 -0
  21. gbdtransformation/brands/attm/schema +52 -0
  22. gbdtransformation/brands/attm/template.yml +85 -0
  23. gbdtransformation/brands/autm/__init__.py +2 -0
  24. gbdtransformation/brands/autm/filters.py +222 -0
  25. gbdtransformation/brands/autm/schema +91 -0
  26. gbdtransformation/brands/autm/template.yml +157 -0
  27. gbdtransformation/brands/bgtm/__init__.py +5 -0
  28. gbdtransformation/brands/bgtm/filters.py +112 -0
  29. gbdtransformation/brands/bgtm/schema +314 -0
  30. gbdtransformation/brands/bgtm/template.yml +154 -0
  31. gbdtransformation/brands/bhtm/__init__.py +12 -0
  32. gbdtransformation/brands/bhtm/filters.py +87 -0
  33. gbdtransformation/brands/bhtm/schema +87 -0
  34. gbdtransformation/brands/bhtm/template.yml +1 -0
  35. gbdtransformation/brands/bhtm/tests/__init__.py +0 -0
  36. gbdtransformation/brands/bntm/__init__.py +2 -0
  37. gbdtransformation/brands/bntm/filters.py +75 -0
  38. gbdtransformation/brands/bntm/schema +87 -0
  39. gbdtransformation/brands/bntm/template.yml +1 -0
  40. gbdtransformation/brands/bntm/tests/__init__.py +0 -0
  41. gbdtransformation/brands/brtm/__init__.py +3 -0
  42. gbdtransformation/brands/brtm/filters.py +169 -0
  43. gbdtransformation/brands/brtm/schema +86 -0
  44. gbdtransformation/brands/brtm/template.yml +22 -0
  45. gbdtransformation/brands/brtm/tests/__init__.py +0 -0
  46. gbdtransformation/brands/brtm/tests/test01.xml +53 -0
  47. gbdtransformation/brands/bttm/__init__.py +10 -0
  48. gbdtransformation/brands/bttm/filters.py +80 -0
  49. gbdtransformation/brands/bttm/schema +87 -0
  50. gbdtransformation/brands/bttm/template.yml +1 -0
  51. gbdtransformation/brands/bttm/tests/__init__.py +0 -0
  52. gbdtransformation/brands/bwtm/__init__.py +13 -0
  53. gbdtransformation/brands/bwtm/filters.py +90 -0
  54. gbdtransformation/brands/bwtm/schema +87 -0
  55. gbdtransformation/brands/bwtm/template.yml +1 -0
  56. gbdtransformation/brands/bwtm/tests/__init__.py +0 -0
  57. gbdtransformation/brands/bztm/__init__.py +16 -0
  58. gbdtransformation/brands/bztm/filters.py +77 -0
  59. gbdtransformation/brands/bztm/schema +87 -0
  60. gbdtransformation/brands/bztm/template.yml +1 -0
  61. gbdtransformation/brands/bztm/tests/__init__.py +0 -0
  62. gbdtransformation/brands/catm/__init__.py +10 -0
  63. gbdtransformation/brands/catm/filters.py +272 -0
  64. gbdtransformation/brands/catm/schema +804 -0
  65. gbdtransformation/brands/catm/template.yml +230 -0
  66. gbdtransformation/brands/chtm/__init__.py +6 -0
  67. gbdtransformation/brands/chtm/filters.py +161 -0
  68. gbdtransformation/brands/chtm/schema +79 -0
  69. gbdtransformation/brands/chtm/template.yml +121 -0
  70. gbdtransformation/brands/cltm/__init__.py +2 -0
  71. gbdtransformation/brands/cltm/filters.py +80 -0
  72. gbdtransformation/brands/cltm/schema +86 -0
  73. gbdtransformation/brands/cltm/template.yml +1 -0
  74. gbdtransformation/brands/cltm/tests/__init__.py +0 -0
  75. gbdtransformation/brands/crtm/__init__.py +5 -0
  76. gbdtransformation/brands/crtm/filters.py +196 -0
  77. gbdtransformation/brands/crtm/schema +86 -0
  78. gbdtransformation/brands/crtm/template.yml +1 -0
  79. gbdtransformation/brands/crtm/tests/__init__.py +0 -0
  80. gbdtransformation/brands/cutm/__init__.py +10 -0
  81. gbdtransformation/brands/cutm/filters.py +94 -0
  82. gbdtransformation/brands/cutm/schema +86 -0
  83. gbdtransformation/brands/cutm/template.yml +4 -0
  84. gbdtransformation/brands/cutm/tests/__init__.py +0 -0
  85. gbdtransformation/brands/detm/__init__.py +19 -0
  86. gbdtransformation/brands/detm/filters.py +75 -0
  87. gbdtransformation/brands/detm/schema +511 -0
  88. gbdtransformation/brands/detm/template.yml +151 -0
  89. gbdtransformation/brands/dktm/__init__.py +7 -0
  90. gbdtransformation/brands/dktm/filters.py +90 -0
  91. gbdtransformation/brands/dktm/schema +95 -0
  92. gbdtransformation/brands/dktm/template.yml +114 -0
  93. gbdtransformation/brands/dztm/__init__.py +10 -0
  94. gbdtransformation/brands/dztm/filters.py +81 -0
  95. gbdtransformation/brands/dztm/schema +87 -0
  96. gbdtransformation/brands/dztm/template.yml +1 -0
  97. gbdtransformation/brands/dztm/tests/__init__.py +0 -0
  98. gbdtransformation/brands/eetm/__init__.py +8 -0
  99. gbdtransformation/brands/eetm/filters.py +115 -0
  100. gbdtransformation/brands/eetm/schema +48 -0
  101. gbdtransformation/brands/eetm/template.yml +98 -0
  102. gbdtransformation/brands/egtm/__init__.py +5 -0
  103. gbdtransformation/brands/egtm/filters.py +73 -0
  104. gbdtransformation/brands/egtm/schema +87 -0
  105. gbdtransformation/brands/egtm/template.yml +1 -0
  106. gbdtransformation/brands/egtm/tests/__init__.py +0 -0
  107. gbdtransformation/brands/emtm/__init__.py +3 -0
  108. gbdtransformation/brands/emtm/filters.py +96 -0
  109. gbdtransformation/brands/emtm/schema +314 -0
  110. gbdtransformation/brands/emtm/template.yml +125 -0
  111. gbdtransformation/brands/estm/__init__.py +3 -0
  112. gbdtransformation/brands/estm/filters.py +110 -0
  113. gbdtransformation/brands/estm/schema +99 -0
  114. gbdtransformation/brands/estm/template.yml +144 -0
  115. gbdtransformation/brands/filters.py +125 -0
  116. gbdtransformation/brands/frtm/__init__.py +2 -0
  117. gbdtransformation/brands/frtm/filters.py +172 -0
  118. gbdtransformation/brands/frtm/schema +300 -0
  119. gbdtransformation/brands/frtm/template.yml +203 -0
  120. gbdtransformation/brands/gbtm/__init__.py +3 -0
  121. gbdtransformation/brands/gbtm/filters.py +122 -0
  122. gbdtransformation/brands/gbtm/schema +362 -0
  123. gbdtransformation/brands/gbtm/template.yml +147 -0
  124. gbdtransformation/brands/gdtm/__init__.py +5 -0
  125. gbdtransformation/brands/gdtm/filters.py +68 -0
  126. gbdtransformation/brands/gdtm/schema +87 -0
  127. gbdtransformation/brands/gdtm/template.yml +1 -0
  128. gbdtransformation/brands/gdtm/tests/__init__.py +0 -0
  129. gbdtransformation/brands/getm/__init__.py +3 -0
  130. gbdtransformation/brands/getm/filters.py +68 -0
  131. gbdtransformation/brands/getm/schema +209 -0
  132. gbdtransformation/brands/getm/template.yml +142 -0
  133. gbdtransformation/brands/ghtm/__init__.py +12 -0
  134. gbdtransformation/brands/ghtm/filters.py +74 -0
  135. gbdtransformation/brands/ghtm/schema +86 -0
  136. gbdtransformation/brands/ghtm/template.yml +1 -0
  137. gbdtransformation/brands/ghtm/tests/__init__.py +0 -0
  138. gbdtransformation/brands/gmtm/__init__.py +7 -0
  139. gbdtransformation/brands/gmtm/filters.py +70 -0
  140. gbdtransformation/brands/gmtm/schema +86 -0
  141. gbdtransformation/brands/gmtm/template.yml +1 -0
  142. gbdtransformation/brands/gmtm/tests/__init__.py +0 -0
  143. gbdtransformation/brands/gstm/__init__.py +2 -0
  144. gbdtransformation/brands/gstm/filters.py +75 -0
  145. gbdtransformation/brands/gstm/template.gs.yml +56 -0
  146. gbdtransformation/brands/gstm/template.yml +32 -0
  147. gbdtransformation/brands/hrtm/__init__.py +3 -0
  148. gbdtransformation/brands/hrtm/filters.py +158 -0
  149. gbdtransformation/brands/hrtm/schema +43 -0
  150. gbdtransformation/brands/hrtm/template.yml +205 -0
  151. gbdtransformation/brands/idtm/__init__.py +12 -0
  152. gbdtransformation/brands/idtm/filters.py +95 -0
  153. gbdtransformation/brands/idtm/schema +86 -0
  154. gbdtransformation/brands/idtm/template.yml +1 -0
  155. gbdtransformation/brands/idtm/tests/__init__.py +0 -0
  156. gbdtransformation/brands/idtm/tests/translation.xml +106 -0
  157. gbdtransformation/brands/idtm/tests/unicode.xml +120 -0
  158. gbdtransformation/brands/iltm/__init__.py +2 -0
  159. gbdtransformation/brands/iltm/filters.py +91 -0
  160. gbdtransformation/brands/iltm/schema +87 -0
  161. gbdtransformation/brands/iltm/template.yml +213 -0
  162. gbdtransformation/brands/iltm/tests/__init__.py +0 -0
  163. gbdtransformation/brands/iltm/tests/cancellations.xml +156 -0
  164. gbdtransformation/brands/iltm/tests/collcert.xml +51 -0
  165. gbdtransformation/brands/iltm/tests/eventdata.xml +83 -0
  166. gbdtransformation/brands/iltm/tests/international.xml +80 -0
  167. gbdtransformation/brands/iltm/tests/markfeature.xml +117 -0
  168. gbdtransformation/brands/iltm/tests/noevents.xml +44 -0
  169. gbdtransformation/brands/iltm/tests/opposition.xml +147 -0
  170. gbdtransformation/brands/iltm/tests/tlit.xml +77 -0
  171. gbdtransformation/brands/intm/__init__.py +6 -0
  172. gbdtransformation/brands/intm/filters.py +75 -0
  173. gbdtransformation/brands/intm/schema +127 -0
  174. gbdtransformation/brands/intm/template.yml +112 -0
  175. gbdtransformation/brands/ipas/__init__.py +0 -0
  176. gbdtransformation/brands/ipas/filters.py +203 -0
  177. gbdtransformation/brands/ipas/template.yml +185 -0
  178. gbdtransformation/brands/istm/__init__.py +10 -0
  179. gbdtransformation/brands/istm/filters.py +60 -0
  180. gbdtransformation/brands/istm/schema +53 -0
  181. gbdtransformation/brands/istm/template.yml +119 -0
  182. gbdtransformation/brands/ittm/__init__.py +6 -0
  183. gbdtransformation/brands/ittm/filters.py +114 -0
  184. gbdtransformation/brands/ittm/schema +104 -0
  185. gbdtransformation/brands/ittm/template.yml +107 -0
  186. gbdtransformation/brands/jotm/__init__.py +8 -0
  187. gbdtransformation/brands/jotm/filters.py +61 -0
  188. gbdtransformation/brands/jotm/schema +86 -0
  189. gbdtransformation/brands/jotm/template.yml +1 -0
  190. gbdtransformation/brands/jotm/tests/__init__.py +0 -0
  191. gbdtransformation/brands/jotm/tests/test.xml +84 -0
  192. gbdtransformation/brands/jptm/__init__.py +6 -0
  193. gbdtransformation/brands/jptm/filters.py +79 -0
  194. gbdtransformation/brands/jptm/schema +39 -0
  195. gbdtransformation/brands/jptm/template.yml +113 -0
  196. gbdtransformation/brands/ketm/__init__.py +9 -0
  197. gbdtransformation/brands/ketm/filters.py +77 -0
  198. gbdtransformation/brands/ketm/schema +86 -0
  199. gbdtransformation/brands/ketm/template.yml +1 -0
  200. gbdtransformation/brands/ketm/tests/__init__.py +0 -0
  201. gbdtransformation/brands/kgtm/__init__.py +6 -0
  202. gbdtransformation/brands/kgtm/filters.py +67 -0
  203. gbdtransformation/brands/kgtm/schema +27 -0
  204. gbdtransformation/brands/kgtm/template.yml +58 -0
  205. gbdtransformation/brands/khtm/__init__.py +14 -0
  206. gbdtransformation/brands/khtm/filters.py +134 -0
  207. gbdtransformation/brands/khtm/schema +86 -0
  208. gbdtransformation/brands/khtm/template.yml +1 -0
  209. gbdtransformation/brands/khtm/tests/__init__.py +0 -0
  210. gbdtransformation/brands/khtm/tests/khtm.xml +122 -0
  211. gbdtransformation/brands/krtm/__init__.py +6 -0
  212. gbdtransformation/brands/krtm/filters.py +136 -0
  213. gbdtransformation/brands/krtm/schema +179 -0
  214. gbdtransformation/brands/krtm/template.yml +186 -0
  215. gbdtransformation/brands/kwtm/__init__.py +2 -0
  216. gbdtransformation/brands/kwtm/filters.py +69 -0
  217. gbdtransformation/brands/kwtm/schema +86 -0
  218. gbdtransformation/brands/kwtm/template.yml +1 -0
  219. gbdtransformation/brands/kwtm/tests/__init__.py +0 -0
  220. gbdtransformation/brands/kwtm/tests/test.xml +84 -0
  221. gbdtransformation/brands/kztm/__init__.py +242 -0
  222. gbdtransformation/brands/kztm/filters.py +140 -0
  223. gbdtransformation/brands/kztm/schema +36 -0
  224. gbdtransformation/brands/kztm/template.yml +117 -0
  225. gbdtransformation/brands/latm/__init__.py +7 -0
  226. gbdtransformation/brands/latm/filters.py +93 -0
  227. gbdtransformation/brands/latm/schema +86 -0
  228. gbdtransformation/brands/latm/template.yml +1 -0
  229. gbdtransformation/brands/latm/tests/__init__.py +0 -0
  230. gbdtransformation/brands/latm/tests/test.xml +112 -0
  231. gbdtransformation/brands/lktm/__init__.py +5 -0
  232. gbdtransformation/brands/lktm/filters.py +83 -0
  233. gbdtransformation/brands/lktm/schema +87 -0
  234. gbdtransformation/brands/lktm/template.yml +1 -0
  235. gbdtransformation/brands/lktm/tests/__init__.py +0 -0
  236. gbdtransformation/brands/matm/__init__.py +3 -0
  237. gbdtransformation/brands/matm/filters.py +36 -0
  238. gbdtransformation/brands/matm/schema +33 -0
  239. gbdtransformation/brands/matm/template.yml +72 -0
  240. gbdtransformation/brands/mctm/__init__.py +3 -0
  241. gbdtransformation/brands/mctm/filters.py +65 -0
  242. gbdtransformation/brands/mctm/schema +128 -0
  243. gbdtransformation/brands/mctm/template.yml +122 -0
  244. gbdtransformation/brands/mdtm/__init__.py +3 -0
  245. gbdtransformation/brands/mdtm/filters.py +64 -0
  246. gbdtransformation/brands/mdtm/schema +128 -0
  247. gbdtransformation/brands/mdtm/template.yml +122 -0
  248. gbdtransformation/brands/metm/__init__.py +5 -0
  249. gbdtransformation/brands/metm/filters.py +87 -0
  250. gbdtransformation/brands/metm/schema +87 -0
  251. gbdtransformation/brands/metm/template.yml +1 -0
  252. gbdtransformation/brands/metm/tests/__init__.py +0 -0
  253. gbdtransformation/brands/mgtm/__init__.py +7 -0
  254. gbdtransformation/brands/mgtm/filters.py +73 -0
  255. gbdtransformation/brands/mgtm/schema +86 -0
  256. gbdtransformation/brands/mgtm/template.yml +1 -0
  257. gbdtransformation/brands/mgtm/tests/__init__.py +0 -0
  258. gbdtransformation/brands/mgtm/tests/test.xml +107 -0
  259. gbdtransformation/brands/mktm/__init__.py +6 -0
  260. gbdtransformation/brands/mktm/filters.py +63 -0
  261. gbdtransformation/brands/mktm/schema +80 -0
  262. gbdtransformation/brands/mktm/template.yml +112 -0
  263. gbdtransformation/brands/mntm/__init__.py +11 -0
  264. gbdtransformation/brands/mntm/filters.py +99 -0
  265. gbdtransformation/brands/mntm/schema +86 -0
  266. gbdtransformation/brands/mntm/template.yml +1 -0
  267. gbdtransformation/brands/mntm/tests/__init__.py +0 -0
  268. gbdtransformation/brands/mwtm/__init__.py +11 -0
  269. gbdtransformation/brands/mwtm/filters.py +80 -0
  270. gbdtransformation/brands/mwtm/schema +86 -0
  271. gbdtransformation/brands/mwtm/template.yml +1 -0
  272. gbdtransformation/brands/mwtm/tests/__init__.py +0 -0
  273. gbdtransformation/brands/mxtm/__init__.py +6 -0
  274. gbdtransformation/brands/mxtm/filters.py +77 -0
  275. gbdtransformation/brands/mxtm/schema +81 -0
  276. gbdtransformation/brands/mxtm/template.yml +127 -0
  277. gbdtransformation/brands/mytm/__init__.py +17 -0
  278. gbdtransformation/brands/mytm/filters.py +125 -0
  279. gbdtransformation/brands/mytm/schema +86 -0
  280. gbdtransformation/brands/mytm/template.yml +1 -0
  281. gbdtransformation/brands/mytm/tests/__init__.py +0 -0
  282. gbdtransformation/brands/mytm/tests/example.xml +132 -0
  283. gbdtransformation/brands/mytm/tests/mytm.xml +132 -0
  284. gbdtransformation/brands/mztm/__init__.py +14 -0
  285. gbdtransformation/brands/mztm/filters.py +89 -0
  286. gbdtransformation/brands/mztm/schema +86 -0
  287. gbdtransformation/brands/mztm/template.yml +1 -0
  288. gbdtransformation/brands/mztm/tests/__init__.py +0 -0
  289. gbdtransformation/brands/natm/__init__.py +11 -0
  290. gbdtransformation/brands/natm/filters.py +88 -0
  291. gbdtransformation/brands/natm/schema +86 -0
  292. gbdtransformation/brands/natm/template.yml +1 -0
  293. gbdtransformation/brands/natm/tests/__init__.py +0 -0
  294. gbdtransformation/brands/notm/__init__.py +5 -0
  295. gbdtransformation/brands/notm/filters.py +170 -0
  296. gbdtransformation/brands/notm/template.yml +289 -0
  297. gbdtransformation/brands/nztm/__init__.py +3 -0
  298. gbdtransformation/brands/nztm/filters.py +126 -0
  299. gbdtransformation/brands/nztm/schema +197 -0
  300. gbdtransformation/brands/nztm/template.yml +161 -0
  301. gbdtransformation/brands/oatm/__init__.py +18 -0
  302. gbdtransformation/brands/oatm/filters.py +82 -0
  303. gbdtransformation/brands/oatm/schema +87 -0
  304. gbdtransformation/brands/oatm/template.yml +1 -0
  305. gbdtransformation/brands/oatm/tests/__init__.py +0 -0
  306. gbdtransformation/brands/omtm/__init__.py +5 -0
  307. gbdtransformation/brands/omtm/filters.py +60 -0
  308. gbdtransformation/brands/omtm/schema +86 -0
  309. gbdtransformation/brands/omtm/template.yml +1 -0
  310. gbdtransformation/brands/omtm/tests/__init__.py +0 -0
  311. gbdtransformation/brands/omtm/tests/test.xml +84 -0
  312. gbdtransformation/brands/patm/__init__.py +8 -0
  313. gbdtransformation/brands/patm/filters.py +149 -0
  314. gbdtransformation/brands/patm/template.yml +40 -0
  315. gbdtransformation/brands/petm/__init__.py +6 -0
  316. gbdtransformation/brands/petm/filters.py +90 -0
  317. gbdtransformation/brands/petm/schema +114 -0
  318. gbdtransformation/brands/petm/template.yml +143 -0
  319. gbdtransformation/brands/pgtm/__init__.py +5 -0
  320. gbdtransformation/brands/pgtm/filters.py +76 -0
  321. gbdtransformation/brands/pgtm/schema +86 -0
  322. gbdtransformation/brands/pgtm/template.yml +1 -0
  323. gbdtransformation/brands/pgtm/tests/__init__.py +0 -0
  324. gbdtransformation/brands/pgtm/tests/pgtm.xml +128 -0
  325. gbdtransformation/brands/phtm/__init__.py +14 -0
  326. gbdtransformation/brands/phtm/filters.py +169 -0
  327. gbdtransformation/brands/phtm/schema +79 -0
  328. gbdtransformation/brands/phtm/schema.classic +50 -0
  329. gbdtransformation/brands/phtm/template.classic.yml +102 -0
  330. gbdtransformation/brands/phtm/template.yml +189 -0
  331. gbdtransformation/brands/pttm/__init__.py +0 -0
  332. gbdtransformation/brands/pttm/filters.py +0 -0
  333. gbdtransformation/brands/pttm/schema +0 -0
  334. gbdtransformation/brands/pttm/template.yml +0 -0
  335. gbdtransformation/brands/pytm/__init__.py +6 -0
  336. gbdtransformation/brands/pytm/filters.py +136 -0
  337. gbdtransformation/brands/pytm/template.yml +40 -0
  338. gbdtransformation/brands/qatm/__init__.py +5 -0
  339. gbdtransformation/brands/qatm/filters.py +81 -0
  340. gbdtransformation/brands/qatm/schema +87 -0
  341. gbdtransformation/brands/qatm/template.yml +1 -0
  342. gbdtransformation/brands/qatm/tests/__init__.py +0 -0
  343. gbdtransformation/brands/rotm/__init__.py +3 -0
  344. gbdtransformation/brands/rotm/filters.py +82 -0
  345. gbdtransformation/brands/rotm/schema +128 -0
  346. gbdtransformation/brands/rotm/template.yml +121 -0
  347. gbdtransformation/brands/rstm/__init__.py +5 -0
  348. gbdtransformation/brands/rstm/filters.py +88 -0
  349. gbdtransformation/brands/rstm/schema +86 -0
  350. gbdtransformation/brands/rstm/template.yml +1 -0
  351. gbdtransformation/brands/rstm/tests/__init__.py +0 -0
  352. gbdtransformation/brands/rutm/__init__.py +14 -0
  353. gbdtransformation/brands/rutm/filters.py +82 -0
  354. gbdtransformation/brands/rutm/schema +94 -0
  355. gbdtransformation/brands/rutm/template.yml +105 -0
  356. gbdtransformation/brands/sdtm/__init__.py +5 -0
  357. gbdtransformation/brands/sdtm/filters.py +59 -0
  358. gbdtransformation/brands/sdtm/schema +86 -0
  359. gbdtransformation/brands/sdtm/template.yml +1 -0
  360. gbdtransformation/brands/sdtm/tests/__init__.py +0 -0
  361. gbdtransformation/brands/sdtm/tests/test.xml +84 -0
  362. gbdtransformation/brands/sgtm/__init__.py +16 -0
  363. gbdtransformation/brands/sgtm/filters.py +177 -0
  364. gbdtransformation/brands/sgtm/schema +213 -0
  365. gbdtransformation/brands/sgtm/template.article6ter.yml +48 -0
  366. gbdtransformation/brands/sgtm/template.r13.yml +45 -0
  367. gbdtransformation/brands/sgtm/template.trademark.yml +148 -0
  368. gbdtransformation/brands/sgtm/template.yml +9 -0
  369. gbdtransformation/brands/smtm/__init__.py +6 -0
  370. gbdtransformation/brands/smtm/filters.py +77 -0
  371. gbdtransformation/brands/smtm/schema +86 -0
  372. gbdtransformation/brands/smtm/template.yml +1 -0
  373. gbdtransformation/brands/smtm/tests/__init__.py +0 -0
  374. gbdtransformation/brands/smtm/tests/test.xml +133 -0
  375. gbdtransformation/brands/solrjtm/__init__.py +1 -0
  376. gbdtransformation/brands/solrjtm/filters.py +85 -0
  377. gbdtransformation/brands/solrjtm/template.yml +195 -0
  378. gbdtransformation/brands/st66tm/__init__.py +1 -0
  379. gbdtransformation/brands/st66tm/filters.py +33 -0
  380. gbdtransformation/brands/st66tm/st66tm.tmpl +219 -0
  381. gbdtransformation/brands/sttm/__init__.py +18 -0
  382. gbdtransformation/brands/sttm/filters.py +72 -0
  383. gbdtransformation/brands/sttm/schema +83 -0
  384. gbdtransformation/brands/sttm/template.yml +1 -0
  385. gbdtransformation/brands/sttm/tests/__init__.py +0 -0
  386. gbdtransformation/brands/sztm/__init__.py +14 -0
  387. gbdtransformation/brands/sztm/filters.py +72 -0
  388. gbdtransformation/brands/sztm/schema +86 -0
  389. gbdtransformation/brands/sztm/template.yml +1 -0
  390. gbdtransformation/brands/sztm/tests/__init__.py +0 -0
  391. gbdtransformation/brands/thtm/__init__.py +2 -0
  392. gbdtransformation/brands/thtm/filters.py +86 -0
  393. gbdtransformation/brands/thtm/schema +86 -0
  394. gbdtransformation/brands/thtm/template.yml +175 -0
  395. gbdtransformation/brands/thtm/tests/__init__.py +0 -0
  396. gbdtransformation/brands/thtm/tests/test.xml +84 -0
  397. gbdtransformation/brands/tntm/__init__.py +16 -0
  398. gbdtransformation/brands/tntm/filters.py +89 -0
  399. gbdtransformation/brands/tntm/schema +87 -0
  400. gbdtransformation/brands/tntm/template.yml +1 -0
  401. gbdtransformation/brands/tntm/tests/__init__.py +0 -0
  402. gbdtransformation/brands/totm/__init__.py +5 -0
  403. gbdtransformation/brands/totm/filters.py +72 -0
  404. gbdtransformation/brands/totm/schema +86 -0
  405. gbdtransformation/brands/totm/template.yml +1 -0
  406. gbdtransformation/brands/totm/tests/__init__.py +0 -0
  407. gbdtransformation/brands/totm/tests/nofeature.xml +106 -0
  408. gbdtransformation/brands/totm/tests/syntax.xml +162 -0
  409. gbdtransformation/brands/totm/tests/test.xml +84 -0
  410. gbdtransformation/brands/tttm/__init__.py +17 -0
  411. gbdtransformation/brands/tttm/filters.py +79 -0
  412. gbdtransformation/brands/tttm/schema +87 -0
  413. gbdtransformation/brands/tttm/template.yml +1 -0
  414. gbdtransformation/brands/tttm/tests/__init__.py +0 -0
  415. gbdtransformation/brands/uatm/__init__.py +18 -0
  416. gbdtransformation/brands/uatm/filters.py +70 -0
  417. gbdtransformation/brands/uatm/schema +158 -0
  418. gbdtransformation/brands/uatm/template.yml +148 -0
  419. gbdtransformation/brands/ustm/__init__.py +187 -0
  420. gbdtransformation/brands/ustm/filters.py +227 -0
  421. gbdtransformation/brands/ustm/schema +2183 -0
  422. gbdtransformation/brands/ustm/template.yml +219 -0
  423. gbdtransformation/brands/uytm/__init__.py +3 -0
  424. gbdtransformation/brands/uytm/filters.py +64 -0
  425. gbdtransformation/brands/uytm/schema +106 -0
  426. gbdtransformation/brands/uytm/template.yml +137 -0
  427. gbdtransformation/brands/vctm/__init__.py +5 -0
  428. gbdtransformation/brands/vctm/filters.py +75 -0
  429. gbdtransformation/brands/vctm/schema +87 -0
  430. gbdtransformation/brands/vctm/template.yml +1 -0
  431. gbdtransformation/brands/vctm/tests/__init__.py +0 -0
  432. gbdtransformation/brands/vntm/__init__.py +9 -0
  433. gbdtransformation/brands/vntm/filters.py +84 -0
  434. gbdtransformation/brands/vntm/schema +86 -0
  435. gbdtransformation/brands/vntm/template.yml +1 -0
  436. gbdtransformation/brands/vntm/tests/__init__.py +0 -0
  437. gbdtransformation/brands/vutm/__init__.py +5 -0
  438. gbdtransformation/brands/vutm/filters.py +67 -0
  439. gbdtransformation/brands/vutm/schema +83 -0
  440. gbdtransformation/brands/vutm/template.yml +1 -0
  441. gbdtransformation/brands/vutm/tests/__init__.py +0 -0
  442. gbdtransformation/brands/whoinn/__init__.py +6 -0
  443. gbdtransformation/brands/whoinn/filters.py +46 -0
  444. gbdtransformation/brands/whoinn/schema +4 -0
  445. gbdtransformation/brands/whoinn/template.yml +45 -0
  446. gbdtransformation/brands/wo6ter/__init__.py +1 -0
  447. gbdtransformation/brands/wo6ter/filters.py +88 -0
  448. gbdtransformation/brands/wo6ter/template.yml +88 -0
  449. gbdtransformation/brands/woao/__init__.py +1 -0
  450. gbdtransformation/brands/woao/filters.py +107 -0
  451. gbdtransformation/brands/woao/schema +116 -0
  452. gbdtransformation/brands/woao/template.yml +90 -0
  453. gbdtransformation/brands/woptm/__init__.py +3 -0
  454. gbdtransformation/brands/woptm/filters.py +42 -0
  455. gbdtransformation/brands/woptm/template.yml +2 -0
  456. gbdtransformation/brands/wotm/__init__.py +3 -0
  457. gbdtransformation/brands/wotm/filters.py +127 -0
  458. gbdtransformation/brands/wotm/schema +218 -0
  459. gbdtransformation/brands/wotm/template.yml +220 -0
  460. gbdtransformation/brands/wstm/__init__.py +6 -0
  461. gbdtransformation/brands/wstm/filters.py +67 -0
  462. gbdtransformation/brands/wstm/schema +86 -0
  463. gbdtransformation/brands/wstm/template.yml +1 -0
  464. gbdtransformation/brands/wstm/tests/__init__.py +0 -0
  465. gbdtransformation/brands/wstm/tests/test.xml +132 -0
  466. gbdtransformation/brands/xxxx/__init__.py +6 -0
  467. gbdtransformation/brands/xxxx/filters.py +60 -0
  468. gbdtransformation/brands/xxxx/schema +4 -0
  469. gbdtransformation/brands/xxxx/template.yml +363 -0
  470. gbdtransformation/brands/zmtm/__init__.py +12 -0
  471. gbdtransformation/brands/zmtm/filters.py +79 -0
  472. gbdtransformation/brands/zmtm/schema +86 -0
  473. gbdtransformation/brands/zmtm/template.yml +1 -0
  474. gbdtransformation/brands/zmtm/tests/__init__.py +0 -0
  475. gbdtransformation/brands/zwtm/__init__.py +3 -0
  476. gbdtransformation/brands/zwtm/filters.py +86 -0
  477. gbdtransformation/brands/zwtm/schema +86 -0
  478. gbdtransformation/brands/zwtm/template.yml +1 -0
  479. gbdtransformation/brands/zwtm/tests/__init__.py +0 -0
  480. gbdtransformation/common/__init__.py +383 -0
  481. gbdtransformation/common/filters.py +418 -0
  482. gbdtransformation/common/jpap/__init__.py +1 -0
  483. gbdtransformation/common/jpap/filters.py +83 -0
  484. gbdtransformation/common/jpap/template.yml +37 -0
  485. gbdtransformation/common/jpbase/__init__.py +1 -0
  486. gbdtransformation/common/jpbase/filters.py +93 -0
  487. gbdtransformation/common/jpbase/template.yml +51 -0
  488. gbdtransformation/common/jprp/__init__.py +1 -0
  489. gbdtransformation/common/jprp/filters.py +86 -0
  490. gbdtransformation/common/jprp/template.yml +51 -0
  491. gbdtransformation/common/navigation.tmpl +12 -0
  492. gbdtransformation/commons/__init__.py +0 -0
  493. gbdtransformation/commons/emap/__init__.py +1 -0
  494. gbdtransformation/commons/emap/filters.py +16 -0
  495. gbdtransformation/commons/emap/template.yml +55 -0
  496. gbdtransformation/commons/emrp/__init__.py +1 -0
  497. gbdtransformation/commons/emrp/filters.py +14 -0
  498. gbdtransformation/commons/emrp/template.yml +53 -0
  499. gbdtransformation/commons/filters.py +3 -0
  500. gbdtransformation/designs/__init__.py +8 -0
  501. gbdtransformation/designs/alid/__init__.py +5 -0
  502. gbdtransformation/designs/alid/filters.py +69 -0
  503. gbdtransformation/designs/alid/schema +89 -0
  504. gbdtransformation/designs/alid/template.yml +1 -0
  505. gbdtransformation/designs/bnid/__init__.py +5 -0
  506. gbdtransformation/designs/bnid/filters.py +61 -0
  507. gbdtransformation/designs/bnid/schema +80 -0
  508. gbdtransformation/designs/bnid/template.yml +1 -0
  509. gbdtransformation/designs/bwid/__init__.py +6 -0
  510. gbdtransformation/designs/bwid/filters.py +64 -0
  511. gbdtransformation/designs/bwid/schema +101 -0
  512. gbdtransformation/designs/bwid/template.yml +1 -0
  513. gbdtransformation/designs/crid/__init__.py +5 -0
  514. gbdtransformation/designs/crid/filters.py +63 -0
  515. gbdtransformation/designs/crid/schema +94 -0
  516. gbdtransformation/designs/crid/template.yml +1 -0
  517. gbdtransformation/designs/cuid/__init__.py +5 -0
  518. gbdtransformation/designs/cuid/filters.py +60 -0
  519. gbdtransformation/designs/cuid/schema +98 -0
  520. gbdtransformation/designs/cuid/template.yml +1 -0
  521. gbdtransformation/designs/egid/__init__.py +5 -0
  522. gbdtransformation/designs/egid/filters.py +62 -0
  523. gbdtransformation/designs/egid/schema +82 -0
  524. gbdtransformation/designs/egid/template.yml +1 -0
  525. gbdtransformation/designs/filters.py +73 -0
  526. gbdtransformation/designs/idid/__init__.py +5 -0
  527. gbdtransformation/designs/idid/filters.py +67 -0
  528. gbdtransformation/designs/idid/schema +102 -0
  529. gbdtransformation/designs/idid/template.yml +1 -0
  530. gbdtransformation/designs/ipas/__init__.py +0 -0
  531. gbdtransformation/designs/ipas/filters.py +181 -0
  532. gbdtransformation/designs/ipas/template.yml +174 -0
  533. gbdtransformation/designs/joid/__init__.py +6 -0
  534. gbdtransformation/designs/joid/filters.py +62 -0
  535. gbdtransformation/designs/joid/schema +97 -0
  536. gbdtransformation/designs/joid/template.yml +1 -0
  537. gbdtransformation/designs/keid/__init__.py +5 -0
  538. gbdtransformation/designs/keid/filters.py +62 -0
  539. gbdtransformation/designs/keid/schema +99 -0
  540. gbdtransformation/designs/keid/template.yml +1 -0
  541. gbdtransformation/designs/khid/__init__.py +5 -0
  542. gbdtransformation/designs/khid/filters.py +63 -0
  543. gbdtransformation/designs/khid/schema +100 -0
  544. gbdtransformation/designs/khid/template.yml +1 -0
  545. gbdtransformation/designs/laid/__init__.py +5 -0
  546. gbdtransformation/designs/laid/filters.py +61 -0
  547. gbdtransformation/designs/laid/schema +94 -0
  548. gbdtransformation/designs/laid/template.yml +1 -0
  549. gbdtransformation/designs/mnid/__init__.py +6 -0
  550. gbdtransformation/designs/mnid/filters.py +62 -0
  551. gbdtransformation/designs/mnid/schema +98 -0
  552. gbdtransformation/designs/mnid/template.yml +1 -0
  553. gbdtransformation/designs/myid/__init__.py +5 -0
  554. gbdtransformation/designs/myid/filters.py +60 -0
  555. gbdtransformation/designs/myid/schema +95 -0
  556. gbdtransformation/designs/myid/template.yml +1 -0
  557. gbdtransformation/designs/phid/__init__.py +5 -0
  558. gbdtransformation/designs/phid/filters.py +70 -0
  559. gbdtransformation/designs/phid/schema +95 -0
  560. gbdtransformation/designs/phid/template.yml +1 -0
  561. gbdtransformation/designs/sgid/__init__.py +6 -0
  562. gbdtransformation/designs/sgid/filters.py +66 -0
  563. gbdtransformation/designs/sgid/schema +115 -0
  564. gbdtransformation/designs/sgid/template.yml +1 -0
  565. gbdtransformation/designs/thid/__init__.py +4 -0
  566. gbdtransformation/designs/thid/filters.py +64 -0
  567. gbdtransformation/designs/thid/schema +98 -0
  568. gbdtransformation/designs/thid/template.yml +1 -0
  569. gbdtransformation/designs/tnid/__init__.py +5 -0
  570. gbdtransformation/designs/tnid/filters.py +66 -0
  571. gbdtransformation/designs/tnid/schema +96 -0
  572. gbdtransformation/designs/tnid/template.yml +1 -0
  573. gbdtransformation/designs/vnid/__init__.py +5 -0
  574. gbdtransformation/designs/vnid/filters.py +62 -0
  575. gbdtransformation/designs/vnid/schema +97 -0
  576. gbdtransformation/designs/vnid/template.yml +1 -0
  577. gbdtransformation/designs/woid/__init__.py +2 -0
  578. gbdtransformation/designs/woid/filters.py +372 -0
  579. gbdtransformation/designs/woid/schema +592 -0
  580. gbdtransformation/designs/woid/template.yml +516 -0
  581. gbdtransformation/designs/xxid/__init__.py +2 -0
  582. gbdtransformation/designs/xxid/filters.py +60 -0
  583. gbdtransformation/designs/xxid/schema +4 -0
  584. gbdtransformation/designs/xxid/template.yml +358 -0
  585. gbdtransformation/execs-nico.py +709 -0
  586. gbdtransformation/execs.py +734 -0
  587. gbdtransformation/gbd-transform.exec.tgz +0 -0
  588. gbdtransformation/parser.py +190 -0
  589. gbdtransformation/renders.py +149 -0
  590. gbdtransformation/utilities/ISOCountryCodeType-V2006.xsd +1245 -0
  591. gbdtransformation/utilities/ISOCurrencyCodeType-V2001.xsd +855 -0
  592. gbdtransformation/utilities/ISOLanguageCodeType-V2002.xsd +715 -0
  593. gbdtransformation/utilities/WIPOST3CodeType-V2007.xsd +1151 -0
  594. gbdtransformation/utilities/__init__.py +0 -0
  595. gbdtransformation/utilities/st66.dot +2828 -0
  596. gbdtransformation/utilities/st66.pdf +0 -0
  597. gbdtransformation/utilities/st66.py +38700 -0
  598. gbdtransformation/utilities/st66.xsd +4174 -0
  599. schemas/ShazamConfig.py +35 -0
  600. schemas/__init__.py +0 -0
  601. schemas/schema_extractor.py +300 -0
  602. wipo_gbd_transformation-1.1.105.dist-info/LICENSE.md +687 -0
  603. wipo_gbd_transformation-1.1.105.dist-info/METADATA +25 -0
  604. wipo_gbd_transformation-1.1.105.dist-info/RECORD +607 -0
  605. wipo_gbd_transformation-1.1.105.dist-info/WHEEL +5 -0
  606. wipo_gbd_transformation-1.1.105.dist-info/entry_points.txt +6 -0
  607. wipo_gbd_transformation-1.1.105.dist-info/top_level.txt +2 -0
@@ -0,0 +1,219 @@
1
+ {% from 'navigation.tmpl' import match %}
2
+
3
+ <Transaction xmlns="http://www.wipo.int/standards/XMLSchema/trademarks" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.wipo.int/standards/XMLSchema/trademarks">
4
+ <TradeMarkTransactionBody>
5
+ <TransactionContentDetails>
6
+ <TransactionIdentifier></TransactionIdentifier>
7
+ <TransactionCode>Trade Mark Information</TransactionCode>
8
+ <TransactionData>
9
+ <TradeMarkDetails>
10
+ <TradeMark>
11
+ <RegistrationOfficeCode>{{ brand.registrationOfficeCode }}</RegistrationOfficeCode>
12
+ <ReceivingOfficeCode>{{ brand.registrationOfficeCode }}</ReceivingOfficeCode>
13
+
14
+ <ApplicationNumber>{{ brand.applicationNumber }}</ApplicationNumber>
15
+ <ApplicationDate>{{ brand.applicationDate }}</ApplicationDate>
16
+
17
+ <RegistrationNumber>{{ brand.registrationNumber }}</RegistrationNumber>
18
+ <RegistrationDate>{{ brand.registrationDate }}</RegistrationDate>
19
+
20
+ <MarkCurrentStatusCode>{{ brand.gbdStatus | translate_status }}</MarkCurrentStatusCode>
21
+ <MarkCurrentStatusDate>{{ brand.markCurrentStatusDate }}</MarkCurrentStatusDate>
22
+
23
+ <ApplicationLanguageCode>{{ brand.applicationLanguageCode }}</ApplicationLanguageCode>
24
+ <SecondLanguageCode>{{ brand.secondLanguageCode }}</SecondLanguageCode>
25
+
26
+ <ExpiryDate>{{ brand.expiryDate }}</ExpiryDate>
27
+ <TerminationDate>{{ brand.terminationDate }}</TerminationDate>
28
+
29
+ <KindMark>{{ brand.kindMark }}</KindMark>
30
+ <MarkFeature>{{ brand.markFeature }}</MarkFeature>
31
+
32
+ <MarkDisclaimerDetails>
33
+ {% call(disclaimer) match('markDisclaimer', brand) %}
34
+ <MarkDisclaimer languageCode="{{ disclaimer.languageCode }}">{{ disclaimer.text }}</MarkDisclaimer>
35
+ {% endcall %}
36
+ </MarkDisclaimerDetails>
37
+
38
+ <FilingPlace>{{ brand.filingPlace }}</FilingPlace>
39
+ <ApplicationReference>{{ brand.applicationRefNumber }}</ApplicationReference>
40
+
41
+ <WordMarkSpecification>
42
+ {% call(wordSpec) match('wordMarkSpecification', brand) %}
43
+ {% call(verbal) match('markVerbalElement', wordSpec) %}
44
+ <MarkVerbalElementText languageCode="{{ verbal.languageCode }}">{{ verbal.text }}</MarkVerbalElementText>
45
+ {% endcall %}
46
+ {% call(signif) match('markSignificantVerbalElement', wordSpec) %}
47
+ <MarkSignificantVerbalElement languageCode="{{ signif.languageCode }}">{{ signif.text }}</MarkSignificantVerbalElement>
48
+ {% endcall %}
49
+ {% call(tlit) match('markTransliteration', wordSpec) %}
50
+ <MarkTransliteration transliterationKind="{{ tlit.kind }}">{{ tlit.text }}</MarkTransliteration>
51
+ {% endcall %}
52
+ {% endcall %}
53
+ </WordMarkSpecification>
54
+
55
+ <MarkImageDetails>
56
+ {% call(markImage) match('markImageDetails', brand) %}
57
+ <MarkImage>
58
+ <MarkImageFilename>{{ brand.applicationNumber }}-th.jpg</MarkImageFilename>
59
+ <MarkImageFileFormat>JPEG</MarkImageFileFormat>
60
+ <MarkImageColourIndicator>{{ markImage.colourIndicator | get_true_or_false}}</MarkImageColourIndicator>
61
+ {% call(claim) match('colorClaimed', markImage) %}
62
+ <MarkImageColourClaimedText>{{ claim }}</MarkImageColourClaimedText>
63
+ {% endcall %}
64
+
65
+ <MarkImageCategory>
66
+ <CategoryKind>{{ markImage.classification.kind }}</CategoryKind>
67
+ <CategoryVersion>{{ markImage.classification.version }}</CategoryVersion>
68
+ <CategoryCodeDetails>
69
+ {% call(code) match('classification.code', markImage) %}
70
+ <CategoryCode>{{ code }}</CategoryCode>
71
+ {% endcall %}
72
+ </CategoryCodeDetails>
73
+ </MarkImageCategory>
74
+ </MarkImage>
75
+ {% endcall %}
76
+ </MarkImageDetails>
77
+
78
+ <GoodsServicesDetails>
79
+ <GoodsServices>
80
+ <ClassificationKindCode>Nice</ClassificationKindCode>
81
+ <ClassDescriptionDetails>
82
+ {% call(gs) match('goodsServices', brand) %}
83
+ <ClassDescription>
84
+ <ClassNumber>{{ gs.nice }}</ClassNumber>
85
+ {% call(gsline) match('terms', gs) %}
86
+ <GoodsServicesDescription languageCode="{{ gsline.languageCode }}">{{ gsline.text }}</GoodsServicesDescription>
87
+ {% endcall %}
88
+ </ClassDescription>
89
+ {% endcall %}
90
+ </ClassDescriptionDetails>
91
+ </GoodsServices>
92
+ </GoodsServicesDetails>
93
+
94
+ <PriorityDetails>
95
+ {% call(priority) match('priorities', brand) %}
96
+ <Priority>
97
+ <PriorityCountryCode>{{ priority.countryCode }}</PriorityCountryCode>
98
+ <PriorityNumber>{{ priority.number }}</PriorityNumber>
99
+ <PriorityDate>{{ priority.date }}</PriorityDate>
100
+ <Comment>{{ priority.comment }}</Comment>
101
+ </Priority>
102
+ {% endcall %}
103
+ </PriorityDetails>
104
+
105
+ <PublicationDetails>
106
+ {% call(publication) match('publications', brand) %}
107
+ <Publication>
108
+ <PublicationIdentifier>{{ publication.identifier }}</PublicationIdentifier>
109
+ <PublicationDate>{{ publication.date }}</PublicationDate>
110
+ </Publication>
111
+ {% endcall %}
112
+ </PublicationDetails>
113
+
114
+ <MarkEventDetails>
115
+ {% call(event) match('events', brand)%}
116
+ {% if event.gbdKind %}
117
+ <MarkEvent>
118
+ <MarkEventDate>{{ event.date }}</MarkEventDate>
119
+ <MarkEventCode>{{ event.gbdKind | translate_event }}</MarkEventCode>
120
+ </MarkEvent>
121
+ {% endif %}
122
+ {% endcall %}
123
+ </MarkEventDetails>
124
+
125
+ <ApplicantDetails>
126
+ {% call(applicant) match('applicants', brand) %}
127
+ <Applicant>
128
+ <ApplicantIdentifier>{{ applicant.identifier }}</ApplicantIdentifier>
129
+ <ApplicantAddressBook>
130
+ <FormattedNameAddress>
131
+ <Name>
132
+ <FreeFormatName>
133
+ <NameKind>{{ applicant.kind }}</NameKind>
134
+ <FreeFormatNameDetails>
135
+ {% call(name) match('fullName', applicant) %}
136
+ <FreeFormatNameLine languageCode="{{ name.languageCode }}">{{ name.text }}</FreeFormatNameLine>
137
+ {% endcall %}
138
+ </FreeFormatNameDetails>
139
+ </FreeFormatName>
140
+ </Name>
141
+ <Address>
142
+ <AddressCountryCode>{{ applicant.countryCode }}</AddressCountryCode>
143
+ <FormattedAddress>
144
+ {% call(address) match('fullAddress', applicant) %}
145
+ <FreeFormatAddressLine languageCode="{{ address.languageCode }}">{{ address.text }}</FreeFormatAddressLine>
146
+ {% endcall %}
147
+ </FormattedAddress>
148
+ </Address>
149
+ </FormattedNameAddress>
150
+ </ApplicantAddressBook>
151
+ </Applicant>
152
+ {% endcall %}
153
+ </ApplicantDetails>
154
+
155
+ <RepresentativeDetails>
156
+ {% call(representative) match('representatives', brand) %}
157
+ <Representative>
158
+ <RepresentativeIdentifier>{{ representative.identifier }}</RepresentativeIdentifier>
159
+ <RepresentativeAddressBook>
160
+ <FormattedNameAddress>
161
+ <Name>
162
+ <FreeFormatName>
163
+ <FreeFormatNameDetails>
164
+ {% call(name) match('fullName', representative) %}
165
+ <FreeFormatNameLine languageCode="{{ name.languageCode }}">{{ name.text }}</FreeFormatNameLine>
166
+ {% endcall %}
167
+ </FreeFormatNameDetails>
168
+ </FreeFormatName>
169
+ </Name>
170
+ <Address>
171
+ <AddressCountryCode>{{ representative.countryCode }}</AddressCountryCode>
172
+ <FormattedAddress>
173
+ <FormattedAddress>
174
+ {% call(address) match('fullAddress', representative) %}
175
+ <FreeFormatAddressLine languageCode="{{ address.languageCode }}">{{ address.text }}</FreeFormatAddressLine>
176
+ {% endcall %}
177
+ </FormattedAddress>
178
+ </FormattedAddress>
179
+ </Address>
180
+ </FormattedNameAddress>
181
+ </RepresentativeAddressBook>
182
+ </Representative>
183
+ {% endcall %}
184
+ </RepresentativeDetails>
185
+
186
+ {% call(correspondence) match('correspondence', brand) %}
187
+ <CorrespondenceAddress>
188
+ <CorrespondenceAddressBook>
189
+ <FormattedNameAddress>
190
+ <Name>
191
+ <FreeFormatName>
192
+ <FreeFormatNameDetails>
193
+ {% call(name) match('fullName', correspondence) %}
194
+ <FreeFormatNameLine languageCode="{{ name.languageCode }}">{{ name.text }}</FreeFormatNameLine>
195
+ {% endcall %}
196
+ </FreeFormatNameDetails>
197
+ </FreeFormatName>
198
+ </Name>
199
+ <Address>
200
+ <AddressCountryCode>{{ correspondence.countryCode }}</AddressCountryCode>
201
+ <FormattedAddress>
202
+ <FormattedAddress>
203
+ {% call(address) match('fullAddress', correspondence) %}
204
+ <FreeFormatAddressLine languageCode="{{ address.languageCode }}">{{ address.text }}</FreeFormatAddressLine>
205
+ {% endcall %}
206
+ </FormattedAddress>
207
+ </FormattedAddress>
208
+ </Address>
209
+ </FormattedNameAddress>
210
+ </CorrespondenceAddressBook>
211
+ </CorrespondenceAddress>
212
+ {% endcall %}
213
+
214
+ </TradeMark>
215
+ </TradeMarkDetails>
216
+ </TransactionData>
217
+ </TransactionContentDetails>
218
+ </TradeMarkTransactionBody>
219
+ </Transaction>
@@ -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/(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
+ ]
13
+
14
+ # 100/901864
15
+ # 2009/002484
16
+ # 001818
17
+ regnum_mask = [ '\\d*/(\\d*)',
18
+ '(\\d*)' ]
@@ -0,0 +1,72 @@
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
+
15
+ if code == 'Madrid Trademark': return 'TRADEMARK'
16
+ if code == 'MNA Marcas nacionais': return 'TRADEMARK'
17
+
18
+ raise Exception('Type "%s" is not mapped.' % code)
19
+
20
+ def translate_kind(trademark, header):
21
+ subcode = header.TransactionSubCode
22
+ if subcode == 'Madrid Protocol': return ['Individual']
23
+ if subcode == 'MNA Industrial e Comercial': return ['Individual']
24
+
25
+ raise Exception('Kind "%s" not mapped.' % subcode)
26
+
27
+ def translate_status(trademark):
28
+ status = trademark.MarkCurrentStatusCode
29
+
30
+ return ipas.translate_status(status)
31
+
32
+ def translate_feature(trademark):
33
+ feature = trademark.MarkFeature
34
+
35
+ return ipas.translate_feature(feature)
36
+
37
+ def translate_event(event):
38
+ return ipas.translate_event(event)
39
+
40
+ # ---------------------------------------
41
+ def verbal_lang_map(markVerbalElements, applang=None):
42
+ # print( ipas.verbal_lang_map(markVerbalElements, applang=applang))
43
+ return ipas.verbal_lang_map(markVerbalElements, applang=applang)
44
+
45
+ def get_registration_nb(trademark, tmstatus):
46
+ if trademark.RegistrationNumber:
47
+ return trademark.RegistrationNumber
48
+
49
+ if not tmstatus in ['Expired', 'Registered']:
50
+ return None
51
+
52
+ # a way to deduce the registration number
53
+ appnum_parts = trademark.ApplicationNumber.split('/')
54
+ regnum = '%s/%s' % (appnum_parts[-2], appnum_parts[-1])
55
+ return regnum
56
+
57
+ def get_expiry_date(trademark, tmstatus):
58
+ return ipas.get_expiry_date(trademark, tmstatus)
59
+
60
+ def get_registration_date(trademark, tmstatus):
61
+ return ipas.get_registration_date(trademark, tmstatus)
62
+
63
+ def is_international(header):
64
+ code = header.TransactionCode
65
+ return code == 'Marque Madrid'
66
+
67
+ # TN/M/100/673426
68
+ def get_ir_refnum(appnum):
69
+ return appnum.split('/')[-1]
70
+
71
+ def get_goods_services(goods_services):
72
+ return ipas.get_goods_services(goods_services)
@@ -0,0 +1,83 @@
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
+ ______________/MarkCurrentStatusCode
34
+ ______________/MarkCurrentStatusDate
35
+ ______________/MarkEventDetails
36
+ ________________/MarkEvent
37
+ __________________/MarkEventCode
38
+ __________________/MarkEventDate
39
+ __________________/OfficeSpecificMarkEventCode
40
+ __________________/OfficeSpecificMarkEventDescription
41
+ __________________/OfficeSpecificMarkEventDescription[@languageCode=en]
42
+ __________________/OfficeSpecificMarkEventName
43
+ ______________/MarkFeature
44
+ ______________/MarkImageDetails
45
+ ________________/MarkImage
46
+ __________________/MarkImageCategory
47
+ ____________________/CategoryCodeDetails
48
+ ______________________/CategoryCode
49
+ ____________________/CategoryKind
50
+ ____________________/CategoryVersion
51
+ __________________/MarkImageFileFormat
52
+ __________________/MarkImageFilename
53
+ ______________/PriorityDetails
54
+ ________________/Priority
55
+ __________________/PriorityCountryCode
56
+ __________________/PriorityDate
57
+ __________________/PriorityNumber
58
+ ______________/PublicationDetails
59
+ ________________/Publication
60
+ __________________/PublicationDate
61
+ __________________/PublicationIdentifier
62
+ ______________/RegistrationDate
63
+ ______________/RegistrationNumber
64
+ ______________/RegistrationOfficeCode
65
+ ______________/RepresentativeDetails
66
+ ________________/Representative
67
+ __________________/RepresentativeAddressBook
68
+ ____________________/FormattedNameAddress
69
+ ______________________/Address
70
+ ________________________/AddressCountryCode
71
+ ________________________/FreeFormatAddress
72
+ __________________________/FreeFormatAddressLine
73
+ ______________________/Name
74
+ ________________________/FreeFormatName
75
+ __________________________/FreeFormatNameDetails
76
+ ____________________________/FreeFormatNameLine
77
+ ____________________________/FreeFormatNameLine[@languageCode=en]
78
+ ______________/WordMarkSpecification
79
+ ________________/MarkVerbalElementText
80
+ ________________/MarkVerbalElementText[@languageCode=en]
81
+ ______/TransactionIdentifier
82
+ ______/TransactionSubCode
83
+
@@ -0,0 +1 @@
1
+ {% include "ipas/template.yml" %}
File without changes
@@ -0,0 +1,14 @@
1
+ render = 'JSON'
2
+ source = 'national'
3
+
4
+ # MD/D/1/936430
5
+ # SZ/T/1986/460
6
+ # SA/T/1977/61
7
+ # A/D/1/807290
8
+ appnum_mask = [ 'SZ/(T|D)/\\d{4}/(\\d*)',
9
+ 'SZ/(T|D)/(\\d{1,3})/\\d{4}',
10
+ 'SZ/(T|D)/\\d{1,3}/(\\d*)',
11
+ 'MD/(D)/1/(\\d*)',
12
+ '([A-C])/D/1/(\\d*)',
13
+ '(SA)/(T|D)/\\d{4}/(\\d*)',
14
+ '(GB)/T/\\d{4}/(\\d*)' ]
@@ -0,0 +1,72 @@
1
+ import gbdtransformation.brands.ipas.filters as ipas
2
+
3
+ ignore_namespace = [
4
+ 'http://www.wipo.int/standards/XMLSchema/trademarks',
5
+ 'http://www.wipo.int/standards/XMLSchema/wo-trademarks']
6
+
7
+ def get_appdate(appdate, appnum):
8
+ return appnum.split('/')[-2].zfill(4)
9
+
10
+ def translate_type(header):
11
+ code = header.TransactionCode
12
+
13
+ if code == 'National TradeMarks': return 'TRADEMARK'
14
+ if code == 'Madrid': return 'TRADEMARK'
15
+
16
+ raise Exception('Type "%s" is not mapped.' % code)
17
+
18
+ def translate_kind(trademark, header):
19
+ subcode = header.TransactionSubCode
20
+
21
+ if subcode == 'National Marks': return ['Individual']
22
+ if subcode == 'Madrid Protocol': return ['Individual']
23
+ if subcode == 'Madrid Agreement': return ['Individual']
24
+
25
+ raise Exception('Kind "%s" not mapped.' % subcode)
26
+
27
+ def translate_status(trademark):
28
+ status = trademark.MarkCurrentStatusCode
29
+
30
+ if status == 'Inactive':
31
+ if trademark.ExpiryDate: return 'Expired'
32
+ else: return 'Ended'
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
+ return ipas.translate_event(event)
45
+
46
+ # ---------------------------------------
47
+
48
+ def verbal_lang_map(markVerbalElements, applang=None):
49
+ return ipas.verbal_lang_map(markVerbalElements, applang=applang)
50
+
51
+ def get_registration_nb(trademark, tmstatus):
52
+ if trademark.RegistrationNumber:
53
+ return trademark.RegistrationNumber
54
+
55
+ return None
56
+
57
+ def get_expiry_date(trademark, tmstatus):
58
+ return ipas.get_expiry_date(trademark, tmstatus)
59
+
60
+ def get_registration_date(trademark, tmstatus):
61
+ return ipas.get_registration_date(trademark, tmstatus)
62
+
63
+ def is_international(header):
64
+ code = header.TransactionCode
65
+ return code == 'Madrid'
66
+
67
+ # MD/D/1/1341864
68
+ def get_ir_refnum(appnum):
69
+ return appnum.split('/')[-1]
70
+
71
+ def get_goods_services(goods_services):
72
+ return ipas.get_goods_services(goods_services)
@@ -0,0 +1,86 @@
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
+ ______________/RegistrationDate
67
+ ______________/RegistrationNumber
68
+ ______________/RegistrationOfficeCode
69
+ ______________/RepresentativeDetails
70
+ ________________/Representative
71
+ __________________/RepresentativeAddressBook
72
+ ____________________/FormattedNameAddress
73
+ ______________________/Address
74
+ ________________________/AddressCountryCode
75
+ ________________________/FreeFormatAddress
76
+ __________________________/FreeFormatAddressLine
77
+ ______________________/Name
78
+ ________________________/FreeFormatName
79
+ __________________________/FreeFormatNameDetails
80
+ ____________________________/FreeFormatNameLine
81
+ ____________________________/FreeFormatNameLine[@languageCode=en]
82
+ ______________/WordMarkSpecification
83
+ ________________/MarkVerbalElementText
84
+ ________________/MarkVerbalElementText[@languageCode=en]
85
+ ______/TransactionIdentifier
86
+ ______/TransactionSubCode
@@ -0,0 +1 @@
1
+ {% include "ipas/template.yml" %}
File without changes
@@ -0,0 +1,2 @@
1
+ render = 'JSON'
2
+ source = 'national'
@@ -0,0 +1,86 @@
1
+ import gbdtransformation.brands.ipas.filters as ipas
2
+
3
+ ignore_namespace = [
4
+ 'http://www.wipo.int/standards/XMLSchema/trademarks',
5
+ 'http://www.wipo.int/standards/XMLSchema/wo-trademarks']
6
+
7
+ def get_appdate(appdate, appnum):
8
+ return ipas.get_appdate(appdate, appnum)
9
+
10
+ def translate_type(header):
11
+ code = header.TransactionCode
12
+
13
+ if not code: return 'TRADEMARK'
14
+
15
+ if code == 'Trademark': return 'TRADEMARK'
16
+ if code == 'Service mark': return 'TRADEMARK'
17
+ if code == 'Certificate mark': return 'TRADEMARK'
18
+ if code == 'Collective mark': return 'TRADEMARK'
19
+
20
+ raise Exception('Type "%s" is not mapped.' % code)
21
+
22
+ def translate_kind(trademark, header):
23
+ kind = trademark.KindMark
24
+
25
+ if not kind: return ['Individual']
26
+
27
+ if kind == 'Collective mark': return ['Collective']
28
+
29
+ return ipas.translate_kind(kind)
30
+
31
+
32
+ def translate_status(trademark):
33
+ status = trademark.MarkCurrentStatusCode
34
+
35
+ if status == 'Inactive':
36
+ if trademark.ExpiryDate: return 'Expired'
37
+ else: return 'Ended'
38
+
39
+ return ipas.translate_status(status)
40
+
41
+ def translate_feature(trademark):
42
+ feature = trademark.MarkFeature
43
+
44
+ if not feature: return 'Undefined'
45
+
46
+ return ipas.translate_feature(feature)
47
+
48
+ def translate_event(event):
49
+ if event == 'Madrid Designation': return 'Registered'
50
+
51
+ return ipas.translate_event(event)
52
+
53
+ # ---------------------------------------
54
+
55
+ # {'la': ['ທະວີໂຊກ ພ້ອມດ້ວຍຮູບ']} <- lo
56
+ def verbal_lang_map(markVerbalElements, applang=None):
57
+ # print( ipas.verbal_lang_map(markVerbalElements, applang=applang))
58
+ return ipas.verbal_lang_map(markVerbalElements, applang=applang)
59
+
60
+ def get_registration_nb(trademark, tmstatus):
61
+ if trademark.RegistrationNumber:
62
+ return trademark.RegistrationNumber
63
+
64
+ if not tmstatus in ['Expired', 'Registered']:
65
+ return None
66
+
67
+ return trademark.ApplicationNumber
68
+
69
+ def get_expiry_date(trademark, tmstatus):
70
+ return ipas.get_expiry_date(trademark, tmstatus)
71
+
72
+ def get_registration_date(trademark, tmstatus):
73
+ return ipas.get_registration_date(trademark, tmstatus)
74
+
75
+ def is_international(header):
76
+ subcode = header.TransactionSubCode
77
+ return subcode == 'Madrid'
78
+
79
+ # <wo:MarkEventCode>Madrid Designation</wo:MarkEventCode>
80
+ # <wo:OfficeSpecificMarkEventName>IRN:1504436</wo:OfficeSpecificMarkEventName>
81
+ def get_ir_refnum(trademark):
82
+ events = trademark.MarkEventDetails.MarkEvent
83
+ for event in events:
84
+ event_name = event.OfficeSpecificMarkEventName
85
+ if event_name.startswith('IRN:'):
86
+ return event_name.replace('IRN:', '')