音乐表数据区域相关工具
music-metadata-territories的Python项目详细描述
音乐元数据-区域
一个简单的库,用于处理音乐中使用的区域层次结构 元数据,目前主要集中在CISAC TIS上。在
TIS和ISO之间的转换(DDEX!)领土将在下一个版本中跟进。在
班级
它只有两个类:
Territory
-领土,例如世界、欧洲、克罗地亚TerritoryList
-此类生成包含和排除区域 更简单的是,它还可以在需要的时候分割领土
领土操纵
除美国以外的世界范围内的领土列表最少:
frommusic_metadata.territories.territoryimportTerritoryfrommusic_metadata.territories.territory_listimportTerritoryListworld=Territory.get('2136')usa=Territory.get('US')l=TerritoryList()l.include(world)l.exclude(usa)fortinsorted(l,key=lambdax:x.name):print(f'{t.tis_n:0>4}',t.name)
结果:
^{pr2}$列出所有国家也很简单:
fortinsorted(l.countries,key=lambdax:x.name):print(f'{t.tis_a:0>4}',t.name)
结果:
AF AFGHANISTAN
AL ALBANIA
DZ ALGERIA
AD ANDORRA
AO ANGOLA
AG ANTIGUA AND BARBUDA
AR ARGENTINA
AM ARMENIA
AU AUSTRALIA
AT AUSTRIA
...
你可以检查一个国家是否最终被列入名单:
usainl
False
份额操纵
通过使用第二个参数
TerritoryList.include
和{
frommusic_metadata.territories.territoryimportTerritoryfrommusic_metadata.territories.territory_listimportTerritoryListworld=Territory.get('2136')usa=Territory.get('US')canada=Territory.get('CA')l=TerritoryList()l.include(world,25)l.add(usa,25)
所以,全世界有25个,美国有25个。 如果我们要求美国和加拿大的价值观:
l[usa],l[canada]
美国有50英镑,加拿大有25英镑。在
(50, 25)
任何数字类型都可以开箱即用,
复杂对象可能需要自定义的__add__
方法。给你
数字字段列表示例:
classShares(list):def__add__(self,other):returnShares([self[i]+other[i]foriinrange(len(self))])
测试和演示包装
你可以在线测试,不需要编码技巧:https://music-metadata.herokuapp.com/territories/
演示的代码在这里:https://github.com/musicmetadata/web-wrapper
- 项目
标签: