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.
- package/CHANGELOG.md +44 -3
- package/{.github/CONTRIBUTING.md → CONTRIBUTING.md} +0 -0
- package/README.md +4 -4
- package/api.d.ts +2 -0
- package/api.yml +5 -0
- package/bin/init.win32.js +1 -0
- package/bin/postinstall.js +7 -8
- package/doc/Configuration.md +2 -0
- package/docker/container-init.sh +2 -0
- package/lib/Mirakurun/Channel.js +27 -27
- package/lib/Mirakurun/Channel.js.map +1 -1
- package/lib/Mirakurun/ChannelItem.js +4 -2
- package/lib/Mirakurun/ChannelItem.js.map +1 -1
- package/lib/Mirakurun/Service.d.ts +6 -0
- package/lib/Mirakurun/Service.js +87 -9
- package/lib/Mirakurun/Service.js.map +1 -1
- package/lib/Mirakurun/ServiceItem.d.ts +2 -6
- package/lib/Mirakurun/ServiceItem.js +2 -20
- package/lib/Mirakurun/ServiceItem.js.map +1 -1
- package/lib/Mirakurun/TSFilter.d.ts +8 -0
- package/lib/Mirakurun/TSFilter.js +230 -57
- package/lib/Mirakurun/TSFilter.js.map +1 -1
- package/lib/Mirakurun/Tuner.js +7 -3
- package/lib/Mirakurun/Tuner.js.map +1 -1
- package/lib/Mirakurun/api/iptv/playlist.js +2 -2
- package/lib/Mirakurun/api/iptv/playlist.js.map +1 -1
- package/lib/Mirakurun/api/iptv/xmltv.js +2 -2
- package/lib/Mirakurun/api/iptv/xmltv.js.map +1 -1
- package/lib/Mirakurun/api/services/{id}/logo.js +12 -5
- package/lib/Mirakurun/api/services/{id}/logo.js.map +1 -1
- package/lib/Mirakurun/api/services/{id}.js +8 -4
- package/lib/Mirakurun/api/services/{id}.js.map +1 -1
- package/lib/Mirakurun/api/services.js +11 -4
- package/lib/Mirakurun/api/services.js.map +1 -1
- package/lib/Mirakurun/api/status.js +2 -1
- package/lib/Mirakurun/api/status.js.map +1 -1
- package/lib/Mirakurun/config.d.ts +1 -0
- package/lib/Mirakurun/config.js +4 -1
- package/lib/Mirakurun/config.js.map +1 -1
- package/lib/Mirakurun/db.d.ts +1 -2
- package/lib/Mirakurun/db.js +1 -1
- package/lib/Mirakurun/db.js.map +1 -1
- package/lib/server.js +1 -0
- package/lib/server.js.map +1 -1
- package/lib/ui/index.js +92 -16
- package/lib/ui/index.js.map +1 -1
- 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.
|
|
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
|
-
-
|
|
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.
|
|
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
|
-
[](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
|
-

|
|
54
54
|
|
|
55
55
|
#### Figure: Stream Flow
|
|
56
56
|
|
|
57
|
-

|
|
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](
|
|
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
|
|
package/bin/postinstall.js
CHANGED
|
@@ -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}
|
|
30
|
+
console.log("Version:", `node@${process.version}`, "[OK]");
|
|
32
31
|
} else {
|
|
33
|
-
console.error("Version:", `node@${process.version}
|
|
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}
|
|
59
|
+
console.log("Version:", `pm2@${pm2Version}`, "[OK]");
|
|
61
60
|
} else {
|
|
62
|
-
console.error("Version:", `pm2@${pm2Version}
|
|
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."
|
|
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}
|
|
97
|
+
console.log("Version:", `winser@${winserVersion}`, "[OK]");
|
|
99
98
|
} else {
|
|
100
|
-
console.error("Version:", `winser@${winserVersion}
|
|
99
|
+
console.error("Version:", `winser@${winserVersion}`, "[NG]", "Expected:", winserExpected);
|
|
101
100
|
process.exit(1);
|
|
102
101
|
}
|
|
103
102
|
|
package/doc/Configuration.md
CHANGED
|
@@ -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
|
|
package/docker/container-init.sh
CHANGED
|
@@ -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
|
package/lib/Mirakurun/Channel.js
CHANGED
|
@@ -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
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
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;
|
|
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
|
-
|
|
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,
|
|
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();
|
package/lib/Mirakurun/Service.js
CHANGED
|
@@ -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(),
|
|
164
|
+
this._saveTimerId = setTimeout(() => this._save(), 1000 * 3);
|
|
97
165
|
}
|
|
98
166
|
_load() {
|
|
99
167
|
log.debug("loading services...");
|
|
100
|
-
let
|
|
101
|
-
db.loadServices(_1.default.configIntegrity.channels)
|
|
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
|
-
|
|
173
|
+
updated = true;
|
|
105
174
|
return;
|
|
106
175
|
}
|
|
107
176
|
if (service.networkId === undefined || service.serviceId === undefined) {
|
|
108
|
-
|
|
177
|
+
updated = true;
|
|
109
178
|
return;
|
|
110
179
|
}
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
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(
|
|
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":";;AAeA,6BAA6B;AAC7B,2BAA2B;AAC3B,0BAAoB;AACpB,mCAA4B;AAE5B,+CAAwC;AAExC,MAAqB,OAAO;
|
|
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,
|
|
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(
|
|
35
|
+
export(): db.Service;
|
|
40
36
|
getStream(userRequest: common.UserRequest): Promise<stream.Readable>;
|
|
41
37
|
getOrder(): number;
|
|
42
38
|
private _updated;
|