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,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
@@ -0,0 +1,3 @@
1
+ # instruction to render the output to JSON format
2
+ render = 'JSON'
3
+ source = 'national'
@@ -0,0 +1,36 @@
1
+ # namespaces defined in XML and to be ignored in procecssing
2
+ ignore_namespace = []
3
+
4
+ # -------------------------------------------------------------
5
+ # data translation helpers:
6
+ # translate values from office interpretation to gbd equivalent
7
+ # -------------------------------------------------------------
8
+ def translate_kind(kind):
9
+ if not kind: return ['Individual']
10
+
11
+ raise Exception('kind "%s" is not mapped.' % kind)
12
+
13
+ def translate_status(status):
14
+ if not status: return 'Unknown'
15
+
16
+ if status == 'ENREGISTREE': return 'Registered'
17
+ if status == 'PUBLIEE': return 'Registered'
18
+
19
+ raise Exception('Status "%s" unmapped' % status)
20
+
21
+ def translate_feature(feature, treademark):
22
+ # majority of records. bof.
23
+ if not feature: return 'Undefined'
24
+
25
+ if feature == 'Dénominative': return 'Word'
26
+ if feature == 'dénominatif': return 'Word'
27
+ if feature == 'Figurative': return 'Figurative'
28
+ if feature == 'figuratif': return 'Figurative'
29
+ if feature == 'Mixte': return 'Combined'
30
+ if feature == 'mixte': return 'Combined'
31
+ if feature == 'sonore': return 'Sound'
32
+ if feature == 'tridimensionnel': return 'Three dimensional'
33
+ if feature == 'Tridimensionnelle': return 'Three dimensional'
34
+ if feature == 'Autres': return 'Other'
35
+
36
+ raise Exception('Feature "%s" unmapped' % feature)
@@ -0,0 +1,33 @@
1
+ /TradeMark
2
+ __/ApplicantDetails
3
+ ____/ApplicantDetail
4
+ ______/Applicant
5
+ ________/AddressCountry
6
+ ________/AddressLine
7
+ ________/FullName
8
+ __/ApplicationDate
9
+ __/ApplicationNumber
10
+ __/ExpiryDate
11
+ __/GoodsServicesDetails
12
+ ____/GoodsServicesDetail
13
+ ______/ClassNumber
14
+ ______/GoodsServicesDescription
15
+ __/MarkFeature
16
+ __/MarkImage
17
+ __/MarkVerbalElementText
18
+ __/PreviousRegistrationNumber
19
+ __/PriorityDetails
20
+ ____/PriorityDetail
21
+ ______/Priority
22
+ ________/CountryCode
23
+ ________/PriorityDate
24
+ ________/PriorityNumber
25
+ __/PublicationDate
26
+ __/RegistrationDate
27
+ __/RegistrationNumber
28
+ __/RegistrationOfficeCode
29
+ __/RepresentativeDetails
30
+ ____/RepresentativeDetail
31
+ ______/Representative
32
+ ________/FullName
33
+ __/Status
@@ -0,0 +1,72 @@
1
+ {% from 'navigation.tmpl' import match %}
2
+
3
+ {% set status = TradeMark.Status | translate_status %}
4
+
5
+ type: TRADEMARK
6
+ kind: {{ TradeMark.KindMark | translate_kind }}
7
+ st13: {{ TradeMark.ApplicationNumber | st13('MA', appdate=TradeMark.ApplicationDate | convertdate('%d%m%Y')) }}
8
+ gbdStatus: {{ status }}
9
+ markFeature: {{ TradeMark.MarkFeature | translate_feature(TradeMark) }}
10
+ registrationOfficeCode: {{ TradeMark.RegistrationOfficeCode }}
11
+ designatedCountries:
12
+ - {{ TradeMark.RegistrationOfficeCode }}
13
+ applicationNumber: {{ TradeMark.ApplicationNumber }}
14
+ applicationDate: {{ TradeMark.ApplicationDate | convertdate('%d%m%Y') }}
15
+ registrationNumber: {{ TradeMark.RegistrationNumber}}
16
+ registrationDate: {{ TradeMark.RegistrationDate | convertdate('%d%m%Y') }}
17
+ applicationLanguageCode: fr
18
+ officeStatus: {{ TradeMark.Status }}
19
+ expiryDate: {{ TradeMark.ExpiryDate | convertdate('%d%m%Y') }}
20
+ publicationDate: {{ TradeMark.PublicationDate | convertdate('%d%m%Y') }}
21
+
22
+ wordMarkSpecification:
23
+ markVerbalElement:
24
+ {% call(desc) match('MarkVerbalElementText', TradeMark) %}
25
+ - text: {{ desc }}
26
+ languageCode: {{ desc | guess_language('fr') }}
27
+ {% endcall %}
28
+
29
+ markImageDetails:
30
+ {% call(img) match('MarkImage', TradeMark) %}
31
+ - name: {{ img }}
32
+ {% endcall %}
33
+
34
+ {% call(nc_gs) match('GoodsServicesDetails', TradeMark) %}
35
+ goodsServicesClassification:
36
+ kind: Nice
37
+ version: {{ ASK_THE_OFFICE }}
38
+ class:
39
+ {% call(nice) match('GoodsServicesDetail', nc_gs) %}
40
+ - code: {{ nice.ClassNumber | int }}
41
+ terms:
42
+ {% if nice.GoodsServicesDescription | has_value %}
43
+ fr:
44
+ {% for gsline in nice.GoodsServicesDescription | split_terms %}
45
+ - {{ gsline | trim | lower }}
46
+ {% endfor %}
47
+ {% endif %}
48
+ {% endcall %}
49
+ {% endcall %}
50
+
51
+ priorities:
52
+ {% call(priority) match('PriorityDetails.PriorityDetail', TradeMark) %}
53
+ - countryCode: {{ priority.Priority.CountryCode }}
54
+ number: {{ priority.Priority.PriorityNumber }}
55
+ date: {{ priority.Priority.PriorityDate }}
56
+ {% endcall %}
57
+ applicants:
58
+ {% call(Applicant) match('ApplicantDetails.ApplicantDetail.Applicant', TradeMark) %}
59
+ - fullName:
60
+ - text: {{ Applicant.FullName}}
61
+ languageCode: 'fr'
62
+ fullAddress:
63
+ - text: {{ Applicant.AddressLine}}
64
+ languageCode: 'fr'
65
+ countryCode: {{ Applicant.AddressCountry }}
66
+ {% endcall %}
67
+ representatives:
68
+ {% call(Representative) match('RepresentativeDetails.RepresentativeDetail.Representative', TradeMark) %}
69
+ - fullName:
70
+ - text: {{ Representative.FullName}}
71
+ languageCode: 'fr'
72
+ {% endcall %}
@@ -0,0 +1,3 @@
1
+ # instruction to render the output to JSON format
2
+ render = 'JSON'
3
+ source = 'national'
@@ -0,0 +1,65 @@
1
+ # namespaces defined in XML and to be ignored in procecssing
2
+ ignore_namespace = []
3
+
4
+ def get_entity_addr(addr):
5
+ if not addr: return None
6
+ return addr.AddressLine
7
+
8
+ def get_entity_name(name):
9
+ if not name: return
10
+ if name.OrganizationName: return name.OrganizationName
11
+ return "%s %s" % (name.FirstName, name.LastName )
12
+
13
+ def get_entity_kind(name):
14
+ if not name: return
15
+ if name.OrganizationName: return 'Legal Entity'
16
+ return 'Natural Person'
17
+
18
+ # -------------------------------------------------------------
19
+ # data translation helpers:
20
+ # translate values from office interpretation to gbd equivalent
21
+ # -------------------------------------------------------------
22
+ def translate_kind(kind):
23
+ if kind == 'Individual': return ['Individual']
24
+ if kind == 'Collective': return ['Collective']
25
+ if kind == 'State property': return ['Collective']
26
+ if kind == 'Certificate': return ['Certificate']
27
+ return ['Individual']
28
+ raise Exception('kind "%s" is not mapped.' % kind)
29
+
30
+
31
+ def translate_status(status):
32
+ if not status: return 'Unknown'
33
+ if status == 'Registration cancelled': return 'Expired'
34
+ if status == 'Expired': return 'Expired'
35
+ if status == 'Registration surrendered': return 'Expired'
36
+
37
+ if status in [ 'Registered trademark',
38
+ 'Registered',
39
+ 'Registration renewed']:
40
+ return 'Registered'
41
+
42
+ if status in [ 'Application withdrawn',
43
+ 'Application refused' ]:
44
+ return 'Ended'
45
+
46
+ if status in [ 'Application published',
47
+ 'Application Filed',
48
+ 'Examination of opposition',
49
+ 'Opposition pending',
50
+ 'Appeal pending' ]:
51
+ return 'Pending'
52
+
53
+ raise Exception('Status "%s" unmapped' % status)
54
+
55
+
56
+ def translate_feature(feature):
57
+ if not feature: return 'Undefined'
58
+
59
+ if feature == 'Word': return 'Word'
60
+ if feature == 'Figurative': return 'Figurative'
61
+ if feature == 'Combined': return 'Combined'
62
+ if feature == '3-D': return 'Three dimensional'
63
+ if feature == 'Sound': return 'Sound'
64
+
65
+ raise Exception('Feature "%s" unmapped' % feature)
@@ -0,0 +1,128 @@
1
+ TradeMark
2
+ __/ApplicantDetails
3
+ ____/Applicant
4
+ ______/ApplicantAddressBook
5
+ ________/FormattedNameAddress
6
+ __________/Address
7
+ ____________/AddressCountryCode
8
+ ____________/FreeFormatAddress
9
+ ______________/FreeFormatAddressLine
10
+ __________/Name
11
+ ____________/FreeFormatName
12
+ ______________/FreeFormatNameDetails
13
+ ________________/FreeFormatNameLine
14
+ ______/ApplicantIdentifier
15
+ __/ApplicationDate
16
+ __/ApplicationNumber
17
+ __/ExhibitionPriorityDetails
18
+ ____/ExhibitionPriority
19
+ ______/ExhibitionCountryCode
20
+ ______/ExhibitionDate
21
+ __/ExpiryDate
22
+ __/GoodsServicesDetails
23
+ ____/GoodsServices
24
+ ______/ClassDescriptionDetails
25
+ ________/ClassDescription
26
+ __________/ClassNumber
27
+ __________/GoodsServicesDescription
28
+ __________/GoodsServicesDescription[@languageCode=ro]
29
+ __/ID
30
+ __/KindMark
31
+ __/MarkCurrentStatusCode
32
+ __/MarkCurrentStatusDate
33
+ __/MarkDisclaimerDetails
34
+ ____/MarkDisclaimer
35
+ __/MarkFeature
36
+ __/MarkImageDetails
37
+ ____/MarkImage
38
+ ______/MarkImageCategory
39
+ ________/CategoryCodeDetails
40
+ __________/CategoryCode
41
+ ________/CategoryKind
42
+ ______/MarkImageColourClaimedText
43
+ ______/MarkImageColourClaimedText[@languageCode=ro]
44
+ ______/MarkImageFileFormat
45
+ ______/MarkImageFilename
46
+ __/MarkRecordDetails
47
+ ____/MarkRecord
48
+ ______/RecordChangeNameAddress
49
+ ________/HolderDetails
50
+ __________/NewHolder
51
+ ____________/ApplicantAddressBook
52
+ ______________/FreeFormatAddressDetails
53
+ ________________/FreeFormatNameAddressLine
54
+ __________/PreviousHolder
55
+ ____________/ApplicantAddressBook
56
+ ______________/FreeFormatAddressDetails
57
+ ________________/FreeFormatNameAddressLine
58
+ ________/RecordChangeNameAddressKind
59
+ ________/RecordEffectiveDate
60
+ ________/RecordIdentifier
61
+ ______/RecordTransfer
62
+ ________/HolderDetails
63
+ __________/NewHolder
64
+ ____________/ApplicantAddressBook
65
+ ______________/FreeFormatAddressDetails
66
+ ________________/FreeFormatNameAddressLine
67
+ __________/PreviousHolder
68
+ ____________/ApplicantAddressBook
69
+ ______________/FreeFormatAddressDetails
70
+ ________________/FreeFormatNameAddressLine
71
+ ________/RecordEffectiveDate
72
+ ________/RecordIdentifier
73
+ ________/RecordTransferKind
74
+ __/OppositionDetails
75
+ ____/Opposition
76
+ ______/OpponentDetails
77
+ ________/Opponent
78
+ __________/OpponentAddressBook
79
+ ____________/FormattedNameAddress
80
+ ______________/Address
81
+ ________________/FreeFormatAddress
82
+ __________________/FreeFormatAddressLine
83
+ ______________/Name
84
+ ________________/FreeFormatName
85
+ __________________/FreeFormatNameDetails
86
+ ____________________/FreeFormatNameLine
87
+ ______/OppositionDate
88
+ ______/OppositionIdentifier
89
+ ______/RepresentativeDetails
90
+ ________/Representative
91
+ __________/RepresentativeAddressBook
92
+ ____________/FormattedNameAddress
93
+ ______________/Address
94
+ ________________/AddressCountryCode
95
+ ________________/FormattedAddress
96
+ __________________/AddressLine
97
+ ______________/Name
98
+ ________________/FormattedName
99
+ __________________/LastName
100
+ __________________/OrganizationName
101
+ __________/RepresentativeIdentifier
102
+ __/PriorityDetails
103
+ ____/Priority
104
+ ______/PriorityCountryCode
105
+ ______/PriorityDate
106
+ ______/PriorityNumber
107
+ __/PublicationDetails
108
+ ____/Publication
109
+ ______/PublicationIdentifier
110
+ ______/PublicationSection
111
+ __/RegistrationDate
112
+ __/RegistrationNumber
113
+ __/RegistrationOfficeCode
114
+ __/RepresentativeDetails
115
+ ____/Representative
116
+ ______/RepresentativeAddressBook
117
+ ________/FormattedNameAddress
118
+ __________/Address
119
+ ____________/AddressCountryCode
120
+ ____________/FormattedAddress
121
+ ______________/AddressLine
122
+ __________/Name
123
+ ____________/FormattedName
124
+ ______________/LastName
125
+ ______________/OrganizationName
126
+ ______/RepresentativeIdentifier
127
+ __/WordMarkSpecification
128
+ ____/MarkVerbalElementText
@@ -0,0 +1,122 @@
1
+ {% from 'navigation.tmpl' import match %}
2
+
3
+ {% set status = TradeMark.MarkCurrentStatusCode | translate_status %}
4
+
5
+ type: TRADEMARK
6
+ kind: {{ TradeMark.KindMark | translate_kind }}
7
+ st13: {{ TradeMark.ApplicationNumber | st13('MC', appdate=TradeMark.ApplicationDate) }}
8
+ gbdStatus: {{ status }}
9
+ markFeature: {{ TradeMark.MarkFeature | translate_feature }}
10
+ registrationOfficeCode: MC
11
+ designatedCountries:
12
+ - MC
13
+
14
+ applicationNumber: {{ TradeMark.ApplicationNumber }}
15
+ applicationDate: {{ TradeMark.ApplicationDate | convertdate('%Y-%m-%d') }}
16
+ registrationNumber: {{ TradeMark.RegistrationNumber}}
17
+ registrationDate: {{ TradeMark.RegistrationDate }}
18
+ applicationLanguageCode: {{ TradeMark.ApplicationLanguageCode}}
19
+ officeStatus: {{ TradeMark.MarkCurrentStatusCode }}
20
+ statusDate: {{ TradeMark.MarkCurrentStatusDate | convertdate('%Y-%m-%d') }}
21
+ expiryDate: {{ TradeMark.ExpiryDate }}
22
+ {% if status == 'Ended' %}
23
+ terminationDate: {{ TradeMark.MarkCurrentStatusDate }}
24
+ {% endif %}
25
+ markDisclaimerDetails:
26
+ {% call(desc) match('MarkDisclaimerDetails.MarkDisclaimer', TradeMark) %}
27
+ - text: {{ desc }}
28
+ languageCode: {{ desc | guess_language(TradeMark.ApplicationLanguageCode) }}
29
+ {% endcall %}
30
+ wordMarkSpecification:
31
+ markVerbalElement:
32
+ {% call(desc) match('WordMarkSpecification.MarkVerbalElementText', TradeMark) %}
33
+ - text: {{ desc }}
34
+ languageCode: {{ desc | guess_language(TradeMark.ApplicationLanguageCode) }}
35
+ {% endcall %}
36
+ markImageDetails:
37
+ {% call(img) match('MarkImageDetails.MarkImage', TradeMark) %}
38
+ - name: {{ img.MarkImageFilename }}
39
+ colourIndicator: {{ img.MarkImageColourClaimedText | get_true_or_false }}
40
+ colourClaimed:
41
+ {% call(desc) match('MarkImageColourClaimedText', img) %}
42
+ - text: {{ desc }}
43
+ languageCode: {{ desc | guess_language(desc._languageCode, TradeMark.ApplicationLanguageCode) }}
44
+ {% endcall %}
45
+ classification:
46
+ kind: Vienna
47
+ version: {{ ASK_THE_OFFICE }}
48
+ code:
49
+ {% call(code) match('MarkImageCategory.CategoryCodeDetails.CategoryCode', img) %}
50
+ - {{ code }}
51
+ {% endcall %}
52
+ {% endcall %}
53
+
54
+ {% call(nc_gs) match('GoodsServicesDetails.GoodsServices', TradeMark) %}
55
+ goodsServicesClassification:
56
+ kind: Nice
57
+ version: {{ ASK_THE_OFFICE }}
58
+ class:
59
+ {% call(nice) match('ClassDescriptionDetails.ClassDescription', nc_gs) %}
60
+ - code: {{ nice.ClassNumber | int }}
61
+ terms:
62
+ {% if nice.GoodsServicesDescription | has_value %}
63
+ {% call(desc) match('GoodsServicesDescription', nice) %}
64
+ {{ desc | guess_language(desc._languageCode, TradeMark.ApplicationLanguageCode) | field_name }}:
65
+ {% for gsline in desc | remove_trailing('.') | split_terms %}
66
+ - {{ gsline | lower }}
67
+ {% endfor %}
68
+ {% endcall %}
69
+ {% endif %}
70
+ {% endcall %}
71
+ {% endcall %}
72
+
73
+ priorities:
74
+ {% call(priority) match('PriorityDetails.Priority', TradeMark) %}
75
+ - countryCode: {{ priority.PriorityCountryCode }}
76
+ number: {{ priority.PriorityNumber }}
77
+ date: {{ priority.PriorityDate }}
78
+ {% endcall %}
79
+
80
+ publications:
81
+ {% call(publication) match('PublicationDetails.Publication', TradeMark) %}
82
+ - identifier: {{ publication.PublicationIdentifier }}
83
+ section: {{ publication.PublicationSection }}
84
+ {% endcall %}
85
+
86
+ applicants:
87
+ {% call(Applicant) match('ApplicantDetails.Applicant', TradeMark) %}
88
+ - identifier: {{ Applicant.ApplicantIdentifier }}
89
+ {% call(nameline) match('FormattedNameAddress.Name.FreeFormatName.FreeFormatNameDetails', Applicant.ApplicantAddressBook) %}
90
+ fullName:
91
+ - text: {{ nameline.FreeFormatNameLine}}
92
+ languageCode: {{ nameline.FreeFormatNameLine | guess_language(TradeMark.ApplicationLanguageCode) }}
93
+ {% endcall %}
94
+ fullAddress:
95
+ {% call(adrline) match('FormattedNameAddress.Address.FreeFormatAddress.FreeFormatAddressLine', Applicant.ApplicantAddressBook) %}
96
+ - text: {{ adrline}}
97
+ languageCode: {{ adrline | guess_language('fr') }}
98
+ {% endcall %}
99
+ {% call(adrline) match('FormattedNameAddress.Address', Applicant.ApplicantAddressBook) %}
100
+ countryCode: {{ adrline.AddressCountryCode }}
101
+ {% endcall %}
102
+ {% endcall %}
103
+ representatives:
104
+ {% call(Representative) match('RepresentativeDetails.Representative', TradeMark) %}
105
+ - identifier: {{ Representative.RepresentativeIdentifier }}
106
+ {% call(nameline) match('FormattedNameAddress.Name.FormattedName', Representative.RepresentativeAddressBook) %}
107
+ kind: {{ nameline | get_entity_kind}}
108
+ fullName:
109
+ - text: {{ nameline | get_entity_name}}
110
+ languageCode: {{ nameline | get_entity_name | guess_language(TradeMark.ApplicationLanguageCode) }}
111
+ {% endcall %}
112
+ fullAddress:
113
+ {% call(adrline) match('FormattedNameAddress.Address.FormattedAddress', Representative.RepresentativeAddressBook) %}
114
+ - text: {{ adrline | get_entity_addr}}
115
+ languageCode: {{ adrline | get_entity_addr | guess_language(TradeMark.ApplicationLanguageCode) }}
116
+ {% endcall %}
117
+ {% call(adrline) match('FormattedNameAddress.Address', Representative.RepresentativeAddressBook) %}
118
+ countryCode: {{ adrline.AddressCountryCode }}
119
+ {% endcall %}
120
+ {% endcall %}
121
+ extra:
122
+ id: {{ TradeMark.ID }}
@@ -0,0 +1,3 @@
1
+ # instruction to render the output to JSON format
2
+ render = 'JSON'
3
+ source = 'national'
@@ -0,0 +1,64 @@
1
+ # namespaces defined in XML and to be ignored in procecssing
2
+ ignore_namespace = []
3
+
4
+ def get_entity_addr(addr):
5
+ if not addr: return None
6
+ return addr.AddressLine
7
+
8
+ def get_entity_name(name):
9
+ if not name: return
10
+ if name.OrganizationName: return name.OrganizationName
11
+ return "%s %s" % (name.FirstName, name.LastName )
12
+
13
+ def get_entity_kind(name):
14
+ if not name: return
15
+ if name.OrganizationName: return 'Legal Entity'
16
+ return 'Natural Person'
17
+
18
+ # -------------------------------------------------------------
19
+ # data translation helpers:
20
+ # translate values from office interpretation to gbd equivalent
21
+ # -------------------------------------------------------------
22
+ def translate_kind(kind):
23
+ if kind == 'Individual': return ['Individual']
24
+ if kind == 'Collective': return ['Collective']
25
+ if kind == 'State property': return ['Collective']
26
+ if kind == 'Certificate': return ['Certificate']
27
+
28
+ raise Exception('kind "%s" is not mapped.' % kind)
29
+
30
+
31
+ def translate_status(status):
32
+ if not status: return 'Unknown'
33
+ if status == 'Registration cancelled': return 'Expired'
34
+ if status == 'Expired': return 'Expired'
35
+ if status == 'Registration surrendered': return 'Expired'
36
+
37
+ if status in [ 'Registered trademark',
38
+ 'Registration renewed']:
39
+ return 'Registered'
40
+
41
+ if status in [ 'Application withdrawn',
42
+ 'Application refused' ]:
43
+ return 'Ended'
44
+
45
+ if status in [ 'Application published',
46
+ 'Application Filed',
47
+ 'Examination of opposition',
48
+ 'Opposition pending',
49
+ 'Appeal pending' ]:
50
+ return 'Pending'
51
+
52
+ raise Exception('Status "%s" unmapped' % status)
53
+
54
+
55
+ def translate_feature(feature):
56
+ if not feature: return 'Undefined'
57
+
58
+ if feature == 'Word': return 'Word'
59
+ if feature == 'Figurative': return 'Figurative'
60
+ if feature == 'Combined': return 'Combined'
61
+ if feature == '3-D': return 'Three dimensional'
62
+ if feature == 'Sound': return 'Sound'
63
+
64
+ raise Exception('Feature "%s" unmapped' % feature)