mirakurun 3.7.1-beta.3 → 3.8.1

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 (47) hide show
  1. package/CHANGELOG.md +44 -3
  2. package/{.github/CONTRIBUTING.md → CONTRIBUTING.md} +0 -0
  3. package/README.md +4 -4
  4. package/api.d.ts +2 -0
  5. package/api.yml +5 -0
  6. package/bin/init.win32.js +1 -0
  7. package/bin/postinstall.js +7 -8
  8. package/doc/Configuration.md +2 -0
  9. package/docker/container-init.sh +2 -0
  10. package/lib/Mirakurun/Channel.js +27 -27
  11. package/lib/Mirakurun/Channel.js.map +1 -1
  12. package/lib/Mirakurun/ChannelItem.js +4 -2
  13. package/lib/Mirakurun/ChannelItem.js.map +1 -1
  14. package/lib/Mirakurun/Service.d.ts +6 -0
  15. package/lib/Mirakurun/Service.js +87 -9
  16. package/lib/Mirakurun/Service.js.map +1 -1
  17. package/lib/Mirakurun/ServiceItem.d.ts +2 -6
  18. package/lib/Mirakurun/ServiceItem.js +2 -20
  19. package/lib/Mirakurun/ServiceItem.js.map +1 -1
  20. package/lib/Mirakurun/TSFilter.d.ts +8 -0
  21. package/lib/Mirakurun/TSFilter.js +230 -57
  22. package/lib/Mirakurun/TSFilter.js.map +1 -1
  23. package/lib/Mirakurun/Tuner.js +7 -3
  24. package/lib/Mirakurun/Tuner.js.map +1 -1
  25. package/lib/Mirakurun/api/iptv/playlist.js +2 -2
  26. package/lib/Mirakurun/api/iptv/playlist.js.map +1 -1
  27. package/lib/Mirakurun/api/iptv/xmltv.js +2 -2
  28. package/lib/Mirakurun/api/iptv/xmltv.js.map +1 -1
  29. package/lib/Mirakurun/api/services/{id}/logo.js +12 -5
  30. package/lib/Mirakurun/api/services/{id}/logo.js.map +1 -1
  31. package/lib/Mirakurun/api/services/{id}.js +8 -4
  32. package/lib/Mirakurun/api/services/{id}.js.map +1 -1
  33. package/lib/Mirakurun/api/services.js +11 -4
  34. package/lib/Mirakurun/api/services.js.map +1 -1
  35. package/lib/Mirakurun/api/status.js +2 -1
  36. package/lib/Mirakurun/api/status.js.map +1 -1
  37. package/lib/Mirakurun/config.d.ts +1 -0
  38. package/lib/Mirakurun/config.js +4 -1
  39. package/lib/Mirakurun/config.js.map +1 -1
  40. package/lib/Mirakurun/db.d.ts +1 -2
  41. package/lib/Mirakurun/db.js +1 -1
  42. package/lib/Mirakurun/db.js.map +1 -1
  43. package/lib/server.js +1 -0
  44. package/lib/server.js.map +1 -1
  45. package/lib/ui/index.js +92 -16
  46. package/lib/ui/index.js.map +1 -1
  47. package/package.json +5 -6
package/CHANGELOG.md CHANGED
@@ -2,18 +2,59 @@
2
2
 
3
3
  see [Commit Logs](https://github.com/Chinachu/Mirakurun/commits/master) to check all.
4
4
 
5
- ## 3.7.1 (2021-08-xx)
5
+ ## 3.8.1 (2022-01-10)
6
+
7
+ - remove `colors` package for urgent security reasons.
8
+
9
+ ## 3.8.0 (2021-08-10)
10
+
11
+ Logo support enhanced.
12
+
13
+ ### Server Changes
14
+
15
+ - **config/server**: Add `logoDataInterval` to suppress parsing logo data frequently.
16
+ - **service**: Save the each logo data to separate file instead of json db.
17
+ - **ts-filter**: Add support for BS/CS logo. [#17](https://github.com/Chinachu/Mirakurun/issues/17)
18
+ - **ui**: Add service list in "Status".
19
+
20
+ ### Client Changes
21
+
22
+ - Add missing `type` definition in `Service`.
23
+
24
+ ### Docker Changes
25
+
26
+ - Set env `NODE_ENV=production` by default.
27
+
28
+ ### Other Changes
29
+
30
+ - **package**: Update dependencies.
31
+
32
+ ## 3.7.1 (2021-08-06)
6
33
 
7
34
  Bug fixes and improvements to memory usage, etc.
8
35
 
9
36
  ### Server Changes
10
37
 
11
- - todo
38
+ - **node**: Removed `--max_old_space_size` flag.
39
+ - **db**: Improved performance of the save (write).
40
+ - **epg**: Fixed a bug where the EPG would not update if it was stopped for several days.
41
+ - **epg**: Improved memory usage.
42
+ - **epg**: Improved EPG gathering behavior.
43
+ - **program**: Improved performance and memory usage.
12
44
 
13
45
  ### Docker Changes
14
46
 
15
- - Update base image to `node:16.6.0-buster-slim`.
47
+ - Update base image to `node:16.6.1-buster-slim`.
16
48
  - Set env `MALLOC_ARENA_MAX=2` by default.
49
+ - **docker-compose**: Set container_name to `mirakurun`.
50
+ - **docker-compose**: Set default network name to `mirakurun`.
51
+
52
+ ### Other Changes
53
+
54
+ - **package**: Add engine support `node@16`.
55
+ - **package**: Drop engine support `node@10`.
56
+ - **package**: Update dependencies.
57
+ - **tsconfig**: Change target `es2017` → `es2019`.
17
58
 
18
59
  ## 3.7.0 (2021-07-24)
19
60
 
File without changes
package/README.md CHANGED
@@ -1,4 +1,4 @@
1
- [![Mirakurun](https://yabumi.cc/159e63f5c692b3b0dae47765.svg)](https://github.com/Chinachu/Mirakurun)
1
+ [![Mirakurun](https://gist.githubusercontent.com/kanreisa/0ab27d7771e97edce5a24cc81b9b8ce6/raw/e50683f1c4e7d1a13e9ef468f8cc945b0dbc853c/logo-mirakurun.svg)](https://github.com/Chinachu/Mirakurun)
2
2
 
3
3
  # Mirakurun
4
4
 
@@ -50,11 +50,11 @@ see: [doc/Platforms.md](doc/Platforms.md)
50
50
 
51
51
  #### Figure: Variety of the MPEG-2 TS Stream API
52
52
 
53
- ![](https://yabumi.cc/1689b554eb4aea9bad992068.svg)
53
+ ![](https://gist.githubusercontent.com/kanreisa/0ab27d7771e97edce5a24cc81b9b8ce6/raw/e50683f1c4e7d1a13e9ef468f8cc945b0dbc853c/mirakurun-fig-api-variety.svg)
54
54
 
55
55
  #### Figure: Stream Flow
56
56
 
57
- ![](https://yabumi.cc/1689b5d310c654a770d44e7a.svg)
57
+ ![](https://gist.githubusercontent.com/kanreisa/0ab27d7771e97edce5a24cc81b9b8ce6/raw/e50683f1c4e7d1a13e9ef468f8cc945b0dbc853c/mirakurun-fig-flow-stream.svg)
58
58
 
59
59
  ## Requirements / Supported Platforms
60
60
 
@@ -93,7 +93,7 @@ You can use PM2 Plus to realtime monitoring if running by PM2.
93
93
 
94
94
  ## Contributing
95
95
 
96
- [CONTRIBUTING.md](.github/CONTRIBUTING.md)
96
+ [CONTRIBUTING.md](CONTRIBUTING.md)
97
97
 
98
98
  ## Supporting
99
99
 
package/api.d.ts CHANGED
@@ -58,6 +58,7 @@ export interface Service {
58
58
  serviceId: ServiceId;
59
59
  networkId: NetworkId;
60
60
  name: string;
61
+ type: number;
61
62
  logoId?: number;
62
63
  hasLogoData?: boolean;
63
64
  remoteControlKeyId?: number;
@@ -205,6 +206,7 @@ export interface ConfigServer {
205
206
  programGCInterval?: number;
206
207
  epgGatheringInterval?: number;
207
208
  epgRetrievalTime?: number;
209
+ logoDataInterval?: number;
208
210
  disableEITParsing?: boolean;
209
211
  }
210
212
 
package/api.yml CHANGED
@@ -111,6 +111,7 @@ definitions:
111
111
  - serviceId
112
112
  - networkId
113
113
  - name
114
+ - type
114
115
  properties:
115
116
  id:
116
117
  $ref: '#/definitions/ServiceItemId'
@@ -120,6 +121,8 @@ definitions:
120
121
  $ref: '#/definitions/NetworkId'
121
122
  name:
122
123
  type: string
124
+ type:
125
+ type: integer
123
126
  logoId:
124
127
  type: integer
125
128
  hasLogoData:
@@ -457,6 +460,8 @@ definitions:
457
460
  type: integer
458
461
  epgRetrievalTime:
459
462
  type: integer
463
+ logoDataInterval:
464
+ type: integer
460
465
  disableEITParsing:
461
466
  type: boolean
462
467
 
package/bin/init.win32.js CHANGED
@@ -39,6 +39,7 @@ setEnv("TUNERS_CONFIG_PATH", path.join(configDir, "tuners.yml"));
39
39
  setEnv("CHANNELS_CONFIG_PATH", path.join(configDir, "channels.yml"));
40
40
  setEnv("SERVICES_DB_PATH", path.join(dataDir, "services.json"));
41
41
  setEnv("PROGRAMS_DB_PATH", path.join(dataDir, "programs.json"));
42
+ setEnv("LOGO_DATA_DIR_PATH", path.join(dataDir, "logo-data"));
42
43
 
43
44
  require("../" + proc.script);
44
45
 
@@ -23,14 +23,13 @@ const fs = require("fs");
23
23
  const path = require("path");
24
24
  const child_process = require("child_process");
25
25
  const semver = require("semver");
26
- const colors = require("colors");
27
26
  const pkg = require("../package.json");
28
27
 
29
28
  // node check
30
29
  if (semver.satisfies(process.version, pkg.engines.node) === true) {
31
- console.log("Version:", `node@${process.version}`.green, "[OK]".bgGreen);
30
+ console.log("Version:", `node@${process.version}`, "[OK]");
32
31
  } else {
33
- console.error("Version:", `node@${process.version}`.red, "[NG]".bgRed, "Expected:", pkg.engines.node);
32
+ console.error("Version:", `node@${process.version}`, "[NG]", "Expected:", pkg.engines.node);
34
33
  process.exit(1);
35
34
  }
36
35
 
@@ -57,9 +56,9 @@ if (process.platform === "linux" || process.platform === "darwin") {
57
56
  const pm2Version = child_process.execSync("pm2 -v", { encoding: "utf8" }).trim();
58
57
  const pm2Expected = ">=2.4.0";
59
58
  if (semver.satisfies(pm2Version, pm2Expected) === true) {
60
- console.log("Version:", `pm2@${pm2Version}`.green, "[OK]".bgGreen);
59
+ console.log("Version:", `pm2@${pm2Version}`, "[OK]");
61
60
  } else {
62
- console.error("Version:", `pm2@${pm2Version}`.red, "[NG]".bgRed, "Expected:", pm2Expected);
61
+ console.error("Version:", `pm2@${pm2Version}`, "[NG]", "Expected:", pm2Expected);
63
62
  process.exit(1);
64
63
  }
65
64
 
@@ -72,7 +71,7 @@ if (process.platform === "linux" || process.platform === "darwin") {
72
71
  ]
73
72
  });
74
73
  } catch (e) {
75
- console.log("Caution: `pm2 startup` has failed. you can try fix yourself.".bgYellow);
74
+ console.log("Caution: `pm2 startup` has failed. you can try fix yourself.");
76
75
  }
77
76
 
78
77
  child_process.execSync("pm2 start processes.json", {
@@ -95,9 +94,9 @@ if (process.platform === "linux" || process.platform === "darwin") {
95
94
  const winserVersion = child_process.execSync("winser -v", { encoding: "utf8" }).replace(/^[a-z]+ /, "").trim();
96
95
  const winserExpected = ">=1.0.3 <2.0.0";
97
96
  if (semver.satisfies(winserVersion, winserExpected) === true) {
98
- console.log("Version:", `winser@${winserVersion}`.green, "[OK]".bgGreen);
97
+ console.log("Version:", `winser@${winserVersion}`, "[OK]");
99
98
  } else {
100
- console.error("Version:", `winser@${winserVersion}`.red, "[NG]".bgRed, "Expected:", winserExpected);
99
+ console.error("Version:", `winser@${winserVersion}`, "[NG]", "Expected:", winserExpected);
101
100
  process.exit(1);
102
101
  }
103
102
 
@@ -26,6 +26,7 @@ eventEndTimeout: 1000 # integer (ms)
26
26
  programGCInterval: 900000 # integer (ms)
27
27
  epgGatheringInterval: 900000 # integer (ms)
28
28
  epgRetrievalTime: 600000 # integer (ms)
29
+ logoDataInterval: 86400000 # integer (ms)
29
30
  disableEITParsing: false # boolean
30
31
  ```
31
32
 
@@ -42,6 +43,7 @@ EVENT_END_TIMEOUT
42
43
  PROGRAM_GC_INTERVAL
43
44
  EPG_GATHERING_INTERVAL
44
45
  EPG_RETRIEVAL_TIME
46
+ LOGO_DATA_INTERVAL
45
47
  DISABLE_EIT_PARSING
46
48
  ```
47
49
 
@@ -5,6 +5,7 @@ export TUNERS_CONFIG_PATH=/app-config/tuners.yml
5
5
  export CHANNELS_CONFIG_PATH=/app-config/channels.yml
6
6
  export SERVICES_DB_PATH=/app-data/services.json
7
7
  export PROGRAMS_DB_PATH=/app-data/programs.json
8
+ export LOGO_DATA_DIR_PATH=/app-data/logo-data
8
9
 
9
10
  export PATH=/opt/bin:$PATH
10
11
  export DOCKER=YES
@@ -44,6 +45,7 @@ if [ -e "/etc/init.d/pcscd" ]; then
44
45
  fi
45
46
 
46
47
  if [ "$DEBUG" != "true" ]; then
48
+ export NODE_ENV=production
47
49
  node -r source-map-support/register lib/server.js
48
50
  else
49
51
  npm run debug
@@ -2,6 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const log = require("./log");
4
4
  const _1 = require("./_");
5
+ const status_1 = require("./status");
5
6
  const queue_1 = require("./queue");
6
7
  const ChannelItem_1 = require("./ChannelItem");
7
8
  const Tuner_1 = require("./Tuner");
@@ -123,45 +124,44 @@ class Channel {
123
124
  return;
124
125
  }
125
126
  const service = services[0];
126
- if (service.epgReady === true) {
127
- const now = Date.now();
128
- if (now - service.epgUpdatedAt < this._epgGatheringInterval) {
129
- log.info("Network#%d EPG gathering has skipped by `epgGatheringInterval`", networkId);
130
- return;
131
- }
132
- if (now - service.epgUpdatedAt > 1000 * 60 * 60 * 6) {
133
- log.info("Network#%d EPG gathering is resuming forcibly because reached maximum pause time", networkId);
134
- service.epgReady = false;
135
- }
136
- else {
137
- const currentPrograms = _1.default.program.findByNetworkIdAndTime(networkId, now)
138
- .filter(program => !!program.name && program.name !== "放送休止");
139
- if (currentPrograms.length === 0) {
140
- const networkPrograms = _1.default.program.findByNetworkId(networkId);
141
- if (networkPrograms.length > 0) {
142
- log.info("Network#%d EPG gathering has skipped because broadcast is off", networkId);
143
- return;
144
- }
127
+ queue_1.default.add(async () => {
128
+ if (service.epgReady === true) {
129
+ const now = Date.now();
130
+ if (now - service.epgUpdatedAt < this._epgGatheringInterval) {
131
+ log.info("Network#%d EPG gathering has skipped by `epgGatheringInterval`", networkId);
132
+ return;
133
+ }
134
+ if (now - service.epgUpdatedAt > 1000 * 60 * 60 * 6) {
135
+ log.info("Network#%d EPG gathering is resuming forcibly because reached maximum pause time", networkId);
145
136
  service.epgReady = false;
146
137
  }
138
+ else {
139
+ const currentPrograms = _1.default.program.findByNetworkIdAndTime(networkId, now)
140
+ .filter(program => !!program.name && program.name !== "放送休止");
141
+ if (currentPrograms.length === 0) {
142
+ const networkPrograms = _1.default.program.findByNetworkId(networkId);
143
+ if (networkPrograms.length > 0) {
144
+ log.info("Network#%d EPG gathering has skipped because broadcast is off", networkId);
145
+ return;
146
+ }
147
+ service.epgReady = false;
148
+ }
149
+ }
150
+ }
151
+ if (status_1.default.epg[networkId] === true) {
152
+ log.info("Network#%d EPG gathering is already in progress on another stream", networkId);
153
+ return;
147
154
  }
148
- }
149
- log.debug("Network#%d EPG gathering has queued", networkId);
150
- queue_1.default.add(async () => {
151
155
  log.info("Network#%d EPG gathering has started", networkId);
152
156
  try {
153
157
  await Tuner_1.default.getEPG(service.channel);
154
- const now = Date.now();
155
- for (const service of services) {
156
- service.epgReady = true;
157
- service.epgUpdatedAt = now;
158
- }
159
158
  log.info("Network#%d EPG gathering has finished", networkId);
160
159
  }
161
160
  catch (e) {
162
161
  log.warn("Network#%d EPG gathering has failed [%s]", networkId, e);
163
162
  }
164
163
  });
164
+ log.debug("Network#%d EPG gathering has queued", networkId);
165
165
  });
166
166
  queue_1.default.add(async () => {
167
167
  setTimeout(this._epgGatherer.bind(this), this._epgGatheringInterval);
@@ -1 +1 @@
1
- {"version":3,"file":"Channel.js","sourceRoot":"","sources":["../../src/Mirakurun/Channel.ts"],"names":[],"mappings":";;AAgBA,6BAA6B;AAC7B,0BAAoB;AACpB,mCAA4B;AAC5B,+CAAwC;AACxC,mCAA4B;AAE5B,MAAqB,OAAO;IAiBxB;QAHQ,WAAM,GAAkB,EAAE,CAAC;QAC3B,0BAAqB,GAAW,UAAC,CAAC,MAAM,CAAC,MAAM,CAAC,oBAAoB,IAAI,IAAI,GAAG,EAAE,GAAG,EAAE,CAAC;QAI3F,IAAI,CAAC,KAAK,EAAE,CAAC;QAEb,IAAI,UAAC,CAAC,MAAM,CAAC,MAAM,CAAC,iBAAiB,KAAK,IAAI,EAAE;YAC5C,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,GAAG,EAAE,CAAC,CAAC;SACvD;IACL,CAAC;IAtBD,MAAM,CAAC,GAAG,CAAC,IAAwB,EAAE,OAAe;QAChD,OAAO,UAAC,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IACxC,CAAC;IAED,MAAM,CAAC,UAAU,CAAC,IAAwB;QACtC,OAAO,UAAC,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;IACtC,CAAC;IAED,MAAM,CAAC,GAAG;QACN,OAAO,UAAC,CAAC,OAAO,CAAC,KAAK,CAAC;IAC3B,CAAC;IAcD,IAAI,KAAK;QACL,OAAO,IAAI,CAAC,MAAM,CAAC;IACvB,CAAC;IAED,GAAG,CAAC,IAAiB;QAEjB,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,KAAK,IAAI,EAAE;YAC5C,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SAC1B;IACL,CAAC;IAED,GAAG,CAAC,IAAwB,EAAE,OAAe;QAEzC,MAAM,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC;QAC7B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE;YACxB,IAAI,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,KAAK,OAAO,IAAI,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,EAAE;gBACpE,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;aACzB;SACJ;QAED,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,UAAU,CAAC,IAAwB;QAE/B,MAAM,KAAK,GAAG,EAAE,CAAC;QAEjB,MAAM,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC;QAC7B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE;YACxB,IAAI,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,EAAE;gBAC9B,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;aAC9B;SACJ;QAED,OAAO,KAAK,CAAC;IACjB,CAAC;IAEO,KAAK;QAET,GAAG,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC;QAEjC,MAAM,QAAQ,GAAG,UAAC,CAAC,MAAM,CAAC,QAAQ,CAAC;QAEnC,QAAQ,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,CAAC,EAAE,EAAE;YAE5B,IAAI,OAAO,OAAO,CAAC,IAAI,KAAK,QAAQ,EAAE;gBAClC,GAAG,CAAC,KAAK,CAAC,6DAA6D,EAAE,CAAC,CAAC,CAAC;gBAC5E,OAAO;aACV;YAED,IAAI,OAAO,CAAC,IAAI,KAAK,IAAI,IAAI,OAAO,CAAC,IAAI,KAAK,IAAI,IAAI,OAAO,CAAC,IAAI,KAAK,IAAI,IAAI,OAAO,CAAC,IAAI,KAAK,KAAK,EAAE;gBACnG,GAAG,CAAC,KAAK,CAAC,kEAAkE,EAAE,CAAC,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;gBAC/F,OAAO;aACV;YAED,IAAI,OAAO,OAAO,CAAC,OAAO,KAAK,QAAQ,EAAE;gBACrC,GAAG,CAAC,KAAK,CAAC,qEAAqE,EAAE,CAAC,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;gBAClG,OAAO;aACV;YAED,IAAI,OAAO,CAAC,QAAQ,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE;gBACxC,GAAG,CAAC,IAAI,CAAC,8FAA8F,EAAE,CAAC,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;gBACnH,OAAQ,CAAC,SAAS,GAAG,OAAO,CAAC,QAAQ,CAAC;aAChD;YAED,IAAI,OAAO,CAAC,SAAS,IAAI,OAAO,OAAO,CAAC,SAAS,KAAK,QAAQ,EAAE;gBAC5D,GAAG,CAAC,KAAK,CAAC,uEAAuE,EAAE,CAAC,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;gBACpG,OAAO;aACV;YAED,IAAI,OAAO,CAAC,KAAK,IAAI,OAAO,OAAO,CAAC,KAAK,KAAK,QAAQ,EAAE;gBACpD,GAAG,CAAC,KAAK,CAAC,mEAAmE,EAAE,CAAC,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;gBAChG,OAAO;aACV;YAED,IAAI,OAAO,CAAC,IAAI,KAAK,SAAS,IAAI,OAAO,OAAO,CAAC,IAAI,KAAK,QAAQ,EAAE;gBAChE,GAAG,CAAC,KAAK,CAAC,kEAAkE,EAAE,CAAC,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;gBAC/F,OAAO;aACV;YAED,IAAI,OAAO,CAAC,QAAQ,IAAI,OAAO,CAAC,QAAQ,KAAK,GAAG,IAAI,OAAO,CAAC,QAAQ,KAAK,GAAG,EAAE;gBAC1E,GAAG,CAAC,KAAK,CAAC,sEAAsE,EAAE,CAAC,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;gBACnG,OAAO;aACV;YAED,IAAI,OAAO,CAAC,SAAS,IAAI,OAAO,OAAO,CAAC,SAAS,KAAK,QAAQ,EAAE;gBAC5D,GAAG,CAAC,KAAK,CAAC,uEAAuE,EAAE,CAAC,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;gBACpG,OAAO;aACV;YAED,IAAI,OAAO,CAAC,SAAS,IAAI,OAAO,OAAO,CAAC,SAAS,KAAK,QAAQ,EAAE;gBAC5D,GAAG,CAAC,KAAK,CAAC,uEAAuE,EAAE,CAAC,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;gBACpG,OAAO;aACV;YAED,IAAI,OAAO,CAAC,UAAU,KAAK,IAAI,EAAE;gBAC7B,OAAO;aACV;YAED,IAAI,eAAK,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,KAAK,EAAE;gBAC1C,OAAO;aACV;YAED,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;YACpD,IAAI,GAAG,EAAE;gBACL,IAAI,OAAO,CAAC,SAAS,EAAE;oBACnB,GAAG,CAAC,UAAU,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;iBACrC;aACJ;iBAAM;gBACH,IAAI,OAAO,CAAC,IAAI,KAAK,IAAI,EAAE;oBAChB,OAAQ,CAAC,IAAI,GAAG,GAAG,OAAO,CAAC,IAAI,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;iBAC/D;gBACD,IAAI,CAAC,GAAG,CAAC,IAAI,qBAAW,CAAC,OAAO,CAAC,CAAC,CAAC;aACtC;QACL,CAAC,CAAC,CAAC;IACP,CAAC;IAEO,YAAY;QAEhB,eAAK,CAAC,GAAG,CAAC,KAAK,IAAI,EAAE;YAEjB,MAAM,UAAU,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,UAAC,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;YAE7E,UAAU,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE;gBAE3B,MAAM,QAAQ,GAAG,UAAC,CAAC,OAAO,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;gBAEtD,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE;oBACvB,OAAO;iBACV;gBACD,MAAM,OAAO,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;gBAE5B,IAAI,OAAO,CAAC,QAAQ,KAAK,IAAI,EAAE;oBAC3B,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;oBACvB,IAAI,GAAG,GAAG,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC,qBAAqB,EAAE;wBACzD,GAAG,CAAC,IAAI,CAAC,gEAAgE,EAAE,SAAS,CAAC,CAAC;wBACtF,OAAO;qBACV;oBACD,IAAI,GAAG,GAAG,OAAO,CAAC,YAAY,GAAG,IAAI,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE;wBACjD,GAAG,CAAC,IAAI,CAAC,kFAAkF,EAAE,SAAS,CAAC,CAAC;wBACxG,OAAO,CAAC,QAAQ,GAAG,KAAK,CAAC;qBAC5B;yBAAM;wBACH,MAAM,eAAe,GAAG,UAAC,CAAC,OAAO,CAAC,sBAAsB,CAAC,SAAS,EAAE,GAAG,CAAC;6BACnE,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,IAAI,OAAO,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC;wBAClE,IAAI,eAAe,CAAC,MAAM,KAAK,CAAC,EAAE;4BAC9B,MAAM,eAAe,GAAG,UAAC,CAAC,OAAO,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;4BAC7D,IAAI,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE;gCAC5B,GAAG,CAAC,IAAI,CAAC,+DAA+D,EAAE,SAAS,CAAC,CAAC;gCACrF,OAAO;6BACV;4BACD,OAAO,CAAC,QAAQ,GAAG,KAAK,CAAC;yBAC5B;qBACJ;iBACJ;gBAED,GAAG,CAAC,KAAK,CAAC,qCAAqC,EAAE,SAAS,CAAC,CAAC;gBAE5D,eAAK,CAAC,GAAG,CAAC,KAAK,IAAI,EAAE;oBAEjB,GAAG,CAAC,IAAI,CAAC,sCAAsC,EAAE,SAAS,CAAC,CAAC;oBAE5D,IAAI;wBACA,MAAM,eAAK,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;wBACpC,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;wBACvB,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE;4BAC5B,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC;4BACxB,OAAO,CAAC,YAAY,GAAG,GAAG,CAAC;yBAC9B;wBACD,GAAG,CAAC,IAAI,CAAC,uCAAuC,EAAE,SAAS,CAAC,CAAC;qBAChE;oBAAC,OAAO,CAAC,EAAE;wBACR,GAAG,CAAC,IAAI,CAAC,0CAA0C,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC;qBACtE;gBACL,CAAC,CAAC,CAAC;YACP,CAAC,CAAC,CAAC;YAEH,eAAK,CAAC,GAAG,CAAC,KAAK,IAAI,EAAE;gBACjB,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,qBAAqB,CAAC,CAAC;YACzE,CAAC,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;IACP,CAAC;CACJ;AA9MD,0BA8MC"}
1
+ {"version":3,"file":"Channel.js","sourceRoot":"","sources":["../../src/Mirakurun/Channel.ts"],"names":[],"mappings":"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"}
@@ -117,11 +117,13 @@ class ChannelItem {
117
117
  if (item !== null) {
118
118
  item.name = service.name;
119
119
  item.type = service.type;
120
- item.logoId = service.logoId;
120
+ if (service.logoId > -1) {
121
+ item.logoId = service.logoId;
122
+ }
121
123
  item.remoteControlKeyId = service.remoteControlKeyId;
122
124
  }
123
125
  else if (add === true) {
124
- _1.default.service.add(new ServiceItem_1.default(this, service.networkId, service.serviceId, service.name, service.type, service.logoId, undefined, service.remoteControlKeyId));
126
+ _1.default.service.add(new ServiceItem_1.default(this, service.networkId, service.serviceId, service.name, service.type, service.logoId, service.remoteControlKeyId));
125
127
  }
126
128
  });
127
129
  log.info("ChannelItem#'%s' service scan has finished", this._name);
@@ -1 +1 @@
1
- {"version":3,"file":"ChannelItem.js","sourceRoot":"","sources":["../../src/Mirakurun/ChannelItem.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ChannelItem.js","sourceRoot":"","sources":["../../src/Mirakurun/ChannelItem.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
+ /// <reference types="node" />
1
2
  import ChannelItem from "./ChannelItem";
2
3
  import ServiceItem from "./ServiceItem";
3
4
  export default class Service {
@@ -9,6 +10,11 @@ export default class Service {
9
10
  static findByNetworkId(networkId: number): ServiceItem[];
10
11
  static findByNetworkIdWithLogoId(networkId: number, logoId: number): ServiceItem[];
11
12
  static all(): ServiceItem[];
13
+ static getLogoDataPath(networkId: number, logoId: number): string;
14
+ static getLogoDataMTime(networkId: number, logoId: number): Promise<number>;
15
+ static isLogoDataExists(networkId: number, logoId: number): Promise<boolean>;
16
+ static loadLogoData(networkId: number, logoId: number): Promise<Buffer>;
17
+ static saveLogoData(networkId: number, logoId: number, data: Buffer, retrying?: boolean): Promise<void>;
12
18
  private _items;
13
19
  private _saveTimerId;
14
20
  constructor();
@@ -1,10 +1,14 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ const path_1 = require("path");
4
+ const fs_1 = require("fs");
5
+ const fs = require("fs");
3
6
  const log = require("./log");
4
7
  const db = require("./db");
5
8
  const _1 = require("./_");
6
9
  const Event_1 = require("./Event");
7
10
  const ServiceItem_1 = require("./ServiceItem");
11
+ const { LOGO_DATA_DIR_PATH } = process.env;
8
12
  class Service {
9
13
  constructor() {
10
14
  this._items = [];
@@ -28,6 +32,70 @@ class Service {
28
32
  static all() {
29
33
  return _1.default.service.items;
30
34
  }
35
+ static getLogoDataPath(networkId, logoId) {
36
+ if (typeof logoId !== "number" || logoId < 0) {
37
+ throw new Error("Invalid `logoId`");
38
+ }
39
+ return path_1.join(LOGO_DATA_DIR_PATH, `${networkId}_${logoId}.png`);
40
+ }
41
+ static async getLogoDataMTime(networkId, logoId) {
42
+ if (typeof logoId !== "number" || logoId < 0) {
43
+ return 0;
44
+ }
45
+ try {
46
+ return (await fs_1.promises.stat(Service.getLogoDataPath(networkId, logoId))).mtimeMs;
47
+ }
48
+ catch (e) {
49
+ return 0;
50
+ }
51
+ }
52
+ static async isLogoDataExists(networkId, logoId) {
53
+ if (typeof logoId !== "number" || logoId < 0) {
54
+ return false;
55
+ }
56
+ try {
57
+ return (await fs_1.promises.stat(Service.getLogoDataPath(networkId, logoId))).isFile();
58
+ }
59
+ catch (e) {
60
+ return false;
61
+ }
62
+ }
63
+ static async loadLogoData(networkId, logoId) {
64
+ if (typeof logoId !== "number" || logoId < 0) {
65
+ return null;
66
+ }
67
+ try {
68
+ return await fs_1.promises.readFile(Service.getLogoDataPath(networkId, logoId));
69
+ }
70
+ catch (e) {
71
+ return null;
72
+ }
73
+ }
74
+ static async saveLogoData(networkId, logoId, data, retrying = false) {
75
+ log.info("Service.saveLogoData(): saving... (networkId=%d logoId=%d)", networkId, logoId);
76
+ const path = Service.getLogoDataPath(networkId, logoId);
77
+ try {
78
+ await fs_1.promises.writeFile(path, data, { encoding: "binary" });
79
+ }
80
+ catch (e) {
81
+ if (retrying === false) {
82
+ const dirPath = path_1.dirname(path);
83
+ if (fs.existsSync(dirPath) === false) {
84
+ log.warn("Service.saveLogoData(): making directory `%s`... (networkId=%d logoId=%d)", dirPath, networkId, logoId);
85
+ try {
86
+ fs.mkdirSync(dirPath, { recursive: true });
87
+ }
88
+ catch (e) {
89
+ throw e;
90
+ }
91
+ }
92
+ log.warn("Service.saveLogoData(): retrying... (networkId=%d logoId=%d)", networkId, logoId);
93
+ return this.saveLogoData(networkId, logoId, data, true);
94
+ }
95
+ throw e;
96
+ }
97
+ log.info("Service.saveLogoData(): saved. (networkId=%d logoId=%d)", networkId, logoId);
98
+ }
31
99
  get items() {
32
100
  return this._items;
33
101
  }
@@ -93,30 +161,40 @@ class Service {
93
161
  }
94
162
  save() {
95
163
  clearTimeout(this._saveTimerId);
96
- this._saveTimerId = setTimeout(() => this._save(), 500);
164
+ this._saveTimerId = setTimeout(() => this._save(), 1000 * 3);
97
165
  }
98
166
  _load() {
99
167
  log.debug("loading services...");
100
- let dropped = false;
101
- db.loadServices(_1.default.configIntegrity.channels).forEach(service => {
168
+ let updated = false;
169
+ const services = db.loadServices(_1.default.configIntegrity.channels);
170
+ for (const service of services) {
102
171
  const channelItem = _1.default.channel.get(service.channel.type, service.channel.channel);
103
172
  if (channelItem === null) {
104
- dropped = true;
173
+ updated = true;
105
174
  return;
106
175
  }
107
176
  if (service.networkId === undefined || service.serviceId === undefined) {
108
- dropped = true;
177
+ updated = true;
109
178
  return;
110
179
  }
111
- this.add(new ServiceItem_1.default(channelItem, service.networkId, service.serviceId, service.name, service.type, service.logoId, service.logoData, service.remoteControlKeyId, service.epgReady, service.epgUpdatedAt));
112
- });
113
- if (dropped) {
180
+ if (service.logoData) {
181
+ const logoDataPath = Service.getLogoDataPath(service.networkId, service.logoId);
182
+ log.warn("migrating deprecated property `logoData` to file `%s` in service#%d (%s) db", logoDataPath, service.id, service.name);
183
+ Service.saveLogoData(service.networkId, service.logoId, Buffer.from(service.logoData, "base64"));
184
+ services.filter(s => s.networkId === service.networkId && s.logoId === service.logoId).forEach(s => {
185
+ delete s.logoData;
186
+ });
187
+ updated = true;
188
+ }
189
+ this.add(new ServiceItem_1.default(channelItem, service.networkId, service.serviceId, service.name, service.type, service.logoId, service.remoteControlKeyId, service.epgReady, service.epgUpdatedAt));
190
+ }
191
+ if (updated) {
114
192
  this.save();
115
193
  }
116
194
  }
117
195
  _save() {
118
196
  log.debug("saving services...");
119
- db.saveServices(this._items.map(service => service.export(true)), _1.default.configIntegrity.channels);
197
+ db.saveServices(this._items.map(service => service.export()), _1.default.configIntegrity.channels);
120
198
  }
121
199
  }
122
200
  exports.default = Service;
@@ -1 +1 @@
1
- {"version":3,"file":"Service.js","sourceRoot":"","sources":["../../src/Mirakurun/Service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Service.js","sourceRoot":"","sources":["../../src/Mirakurun/Service.ts"],"names":[],"mappings":"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"}
@@ -10,13 +10,12 @@ export default class ServiceItem {
10
10
  private _name?;
11
11
  private _type?;
12
12
  private _logoId?;
13
- private _logoData?;
14
13
  private _remoteControlKeyId?;
15
14
  private _epgReady;
16
15
  private _epgUpdatedAt;
17
16
  static getId(networkId: number, serviceId: number): number;
18
17
  private _id;
19
- constructor(_channel: ChannelItem, _networkId: number, _serviceId: number, _name?: string, _type?: number, _logoId?: number, _logoData?: string, _remoteControlKeyId?: number, _epgReady?: boolean, _epgUpdatedAt?: number);
18
+ constructor(_channel: ChannelItem, _networkId: number, _serviceId: number, _name?: string, _type?: number, _logoId?: number, _remoteControlKeyId?: number, _epgReady?: boolean, _epgUpdatedAt?: number);
20
19
  get id(): number;
21
20
  get networkId(): number;
22
21
  get serviceId(): number;
@@ -26,9 +25,6 @@ export default class ServiceItem {
26
25
  set type(type: number);
27
26
  get logoId(): number;
28
27
  set logoId(logoId: number);
29
- get logoData(): Buffer;
30
- set logoData(logo: Buffer);
31
- get hasLogoData(): boolean;
32
28
  get remoteControlKeyId(): number;
33
29
  set remoteControlKeyId(id: number);
34
30
  get epgReady(): boolean;
@@ -36,7 +32,7 @@ export default class ServiceItem {
36
32
  get epgUpdatedAt(): number;
37
33
  set epgUpdatedAt(time: number);
38
34
  get channel(): ChannelItem;
39
- export(full?: boolean): db.Service;
35
+ export(): db.Service;
40
36
  getStream(userRequest: common.UserRequest): Promise<stream.Readable>;
41
37
  getOrder(): number;
42
38
  private _updated;