@tyleretters/discography 0.0.6 → 0.0.8

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.
package/dist/types.d.ts CHANGED
@@ -6,17 +6,21 @@ export interface Release {
6
6
  format: string;
7
7
  role: string;
8
8
  label: string;
9
+ mp3: boolean;
10
+ wav: boolean;
9
11
  tracks: Array<Track>;
10
12
  notes: string;
11
13
  credits: string;
12
14
  release_slug: string;
13
15
  project_slug: string;
16
+ cover_slug: string;
14
17
  id: string;
15
18
  }
16
19
  export interface Track {
17
20
  number: number;
18
21
  title: string;
19
22
  length: string;
20
- track_slug: string;
23
+ mp3_slug?: string;
24
+ wav_slug?: string;
21
25
  id: string;
22
26
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tyleretters/discography",
3
- "version": "0.0.6",
3
+ "version": "0.0.8",
4
4
  "description": "A canonical discography of the music of Tyler Etters.",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
package/src/convert.py CHANGED
@@ -37,6 +37,8 @@ def make_slug(str):
37
37
  str = re.sub(r'[^a-zA-Z0-9\s-]', '', str)
38
38
  # replace spaces with hyphens
39
39
  str = re.sub(r'\s+', '-', str)
40
+ # replace multiple hyphens with single hyphen
41
+ str = re.sub(r'--+', '-', str)
40
42
  return str
41
43
 
42
44
  # load data
@@ -45,11 +47,14 @@ with open(yml_path, "r") as yml_file:
45
47
 
46
48
  # enrich data
47
49
  for release in data:
50
+ # generate a project slug
51
+ release["project_slug"] = make_slug(release["project"])
52
+
48
53
  # generate a release slug
49
54
  release["release_slug"] = make_slug(release["title"])
50
55
 
51
- # generate a project slug
52
- release["project_slug"] = make_slug(release["project"])
56
+ # generate a cover
57
+ release["cover_slug"] = release["project_slug"] + "/" + release["release_slug"] + "/" + release["release_slug"] + ".jpg"
53
58
 
54
59
  # generate an id
55
60
  release["id"] = make_id(release["project"] + release["title"])
@@ -58,8 +63,13 @@ for release in data:
58
63
  if "tracks" in release:
59
64
  for track in release["tracks"]:
60
65
 
61
- # generate a track slug
62
- track["track_slug"] = make_slug(track["title"])
66
+ # generate a track slugs for available formats
67
+ track_slug = release["project_slug"] + "/" + release["release_slug"] + "/" + make_slug(track["title"])
68
+ if (release["mp3"]):
69
+ track["mp3_slug"] = track_slug + ".mp3"
70
+
71
+ if (release["wav"]):
72
+ track["wav_slug"] = track_slug + ".wav"
63
73
 
64
74
  # generate an id (ARTIST + RELEASE + NUMBER + TITLE + LENGTH)
65
75
  track["id"] = make_id(release["project"] + release["title"] + str(track["number"]) + track["title"] + track["length"])