pifi 0.1.1 → 0.1.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/INSTALL.md +10 -12
- data/README.md +24 -16
- data/lib/pifi/lib/config_getter.rb +1 -1
- data/lib/pifi/lib/streams_getter.rb +10 -1
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: b0b52109a7d2e0f8ce6fa62b9c87a13079966c6d9cdc4d88bdfb76245e3fad95
|
4
|
+
data.tar.gz: 7250d4469717c956e0fbb81d066fa3a12ac22f934d6cbfbcb69f74a769dde09c
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: c03d08825762b9a79f93359aa42150a77dbc9d3f7133773bf3e2e974827413693ba47c304a8b78a9e050d1648aa45be98b62b623b70053b8b0ac375f51798f46
|
7
|
+
data.tar.gz: d851d8ba1e665ed37620f9ebee9c78d0dee371ebbf0ea80d6835f2e3b04b756ba4554d416ed6544c684e8d1a0c2044a8180a735589bcd282dc160d083b3a9275
|
data/INSTALL.md
CHANGED
@@ -21,12 +21,10 @@ $ sudo systemctl start mpd && sudo systemctl enable mpd
|
|
21
21
|
$ sudo gem install pifi --no-ri --no-rdoc
|
22
22
|
```
|
23
23
|
|
24
|
-
4. To run PiFi, you'll need a list of
|
25
|
-
|
26
|
-
Paste this for now:
|
24
|
+
4. To run PiFi, you'll need a list of radios at `/etc/pifi_streams.json`. Paste this for now:
|
27
25
|
|
28
26
|
```
|
29
|
-
sudo wget https://raw.githubusercontent.com/rccavalcanti/pifi-radio/master/docs/pifi_streams.json -O /etc/pifi_streams.json
|
27
|
+
sudo wget https://raw.githubusercontent.com/rccavalcanti/pifi-radio/master/docs/pifi_streams.json.sample -O /etc/pifi_streams.json
|
30
28
|
```
|
31
29
|
|
32
30
|
Later, you can edit that JSON file [as described here](README.md#list-of-streams).
|
@@ -42,22 +40,22 @@ $ sudo -e /etc/pifi.json
|
|
42
40
|
|
43
41
|
**Done!** You can now run PiFi with `pifi` and reach it at `http://DEVICE_IP:3000`. Type `pifi -h` to check the options available.
|
44
42
|
|
45
|
-
**Suggestion:** On your mobile browser, tap to add PiFi Radio to your home screen, for easier access.
|
46
|
-
|
47
43
|
## Running at system boot and as other user
|
48
44
|
|
49
|
-
It makes sense to run PiFi as a less-privileged user (such as `www-data`). You may also want it to autostart on boot.
|
45
|
+
It makes sense to run PiFi as a less-privileged user (such as `www-data`). You may also want it to autostart on boot. For that:
|
50
46
|
|
51
|
-
1. Download the systemd service
|
47
|
+
1. Download the systemd service.
|
52
48
|
|
53
49
|
```
|
54
50
|
$ sudo wget https://raw.githubusercontent.com/rccavalcanti/pifi-radio/master/docs/pifi.service.sample -O /etc/systemd/system/pifi.service
|
55
|
-
$ sudo -e /etc/systemd/system/pifi.service
|
56
51
|
```
|
57
52
|
|
58
|
-
2.
|
53
|
+
2. Make any changes relevant to your system.
|
54
|
+
|
55
|
+
For example, if you leave `User` and `Group` as they are (`www-data`), make sure that both exist in your system.
|
59
56
|
|
60
57
|
```
|
61
|
-
$ sudo
|
62
|
-
$ sudo systemctl enable pifi
|
58
|
+
$ sudo -e /etc/systemd/system/pifi.service
|
63
59
|
```
|
60
|
+
|
61
|
+
**Done!** Now you can start PiFi with `sudo systemctl start pifi`. For running at boot, enter `sudo systemctl enable pifi`.
|
data/README.md
CHANGED
@@ -10,8 +10,8 @@ PiFi Radio: A MPD web client to listen to radio
|
|
10
10
|
- [Demo](#demo)
|
11
11
|
- [Installation](#installation)
|
12
12
|
- [Configuration](#configuration)
|
13
|
-
- [PiFi configuration](#pifi-configuration)
|
14
13
|
- [List of streams](#list-of-streams)
|
14
|
+
- [PiFi configuration](#pifi-configuration)
|
15
15
|
- [Credits](#credits)
|
16
16
|
- [License](#license)
|
17
17
|
|
@@ -78,7 +78,7 @@ While PiFi was imagined for the Pi, it should run on any computer with:
|
|
78
78
|
|
79
79
|
### List of streams
|
80
80
|
|
81
|
-
PiFi needs a list of the radios you want to listen. [A example is available here](docs/pifi_streams.json).
|
81
|
+
PiFi needs a list of the radios you want to listen. [A example is available here](docs/pifi_streams.json.sample).
|
82
82
|
|
83
83
|
The list is read by default from `/etc/pifi_streams.json`. You can change this path [creating a configuration file](#pifi-configuration).
|
84
84
|
|
@@ -89,7 +89,7 @@ To keep it simple, the list of streams is just a JSON file with key-value pairs,
|
|
89
89
|
"Radio 2": "https://example.com/radio"
|
90
90
|
}
|
91
91
|
|
92
|
-
If you want to arrange the stations in categories, add a pair with the category name as the key and empty value, as in
|
92
|
+
If you want to arrange the stations in categories, add a pair with the category name as the key and empty value, as shown below. This will add the headers "Talk radio" and "Classical" above each group of stations, [such as "España" in the demo](#demo).
|
93
93
|
|
94
94
|
{
|
95
95
|
"Talk radio": "",
|
@@ -101,32 +101,40 @@ If you want to arrange the stations in categories, add a pair with the category
|
|
101
101
|
"Radio 4": "https://example.com/radio4"
|
102
102
|
}
|
103
103
|
|
104
|
-
This will add the headers "Talk radio" and "Classical" above each group of stations, [such as "España" in the demo](#demo).
|
105
|
-
|
106
104
|
### PiFi configuration
|
107
105
|
|
108
106
|
It's now completely optional to have a configuration file for PiFi. You only need one if you want something different from the defaults.
|
109
107
|
|
110
108
|
The path is `/etc/pifi.json` and these are the options:
|
111
109
|
|
112
|
-
| Key |
|
113
|
-
| --------------- | ----------------------------------------------------------------------------------------------------------------- |
|
114
|
-
| `
|
115
|
-
| `
|
116
|
-
| `
|
117
|
-
| `
|
118
|
-
| `streamsp_file` | Path to JSON file containing additional streams. These will be shown only to the devices listed on `special_ips`. |
|
119
|
-
| `special_ips` | The IPs of the devices to show additional streams. |
|
120
|
-
| `play_local` | Set it to `true` if you want PiFi to play songs from your local library. This shows the "Random" button. |
|
121
|
-
| `serve_static` | If we should serve static resources. Set it to `false` if your web server is already doing it. |
|
110
|
+
| Key | Default | Description |
|
111
|
+
| --------------- | ------------------------ | ----------------------------------------------------------------------------------------------------------------- |
|
112
|
+
| `mpd_host` | `127.0.0.1` | MPD host. |
|
113
|
+
| `mpd_port` | `6600` | MPD port. |
|
114
|
+
| `mpd_password` | `""` (none) | MPD password. |
|
115
|
+
| `streams_file` | `/etc/pifi_streams.json` | Path to the JSON file containing the streams. |
|
116
|
+
| `streamsp_file` | `""` (none) | Path to JSON file containing additional streams. These will be shown only to the devices listed on `special_ips`. |
|
117
|
+
| `special_ips` | `""` (none) | The IPs of the devices to show additional streams. |
|
118
|
+
| `play_local` | `false` | Set it to `true` if you want PiFi to play songs from your local library. This shows the "Random" button. |
|
119
|
+
| `serve_static` | `true` | If we should serve static resources. Set it to `false` if your web server is already doing it. |
|
122
120
|
|
123
|
-
|
121
|
+
If you want to change any of these options, download the sample file and edit it to your needs:
|
124
122
|
|
125
123
|
```
|
126
124
|
$ sudo wget https://raw.githubusercontent.com/rccavalcanti/pifi-radio/master/docs/pifi.json.sample -O /etc/pifi.json
|
127
125
|
$ sudo -e /etc/pifi.json
|
128
126
|
```
|
129
127
|
|
128
|
+
## Usage
|
129
|
+
|
130
|
+
PiFi can be run:
|
131
|
+
|
132
|
+
- With the `pifi` command. Check `pifi -h` for the options available.
|
133
|
+
- [If you installed the systemd service](INSTALL.md#running-at-system-boot-and-as-other-user), with `sudo systemctl start pifi`.
|
134
|
+
- At boot enabling the systemd service with `sudo systemctl enable pifi`.
|
135
|
+
|
136
|
+
On your mobile browser, I suggest you add PiFi Radio to your home screen, for easier access.
|
137
|
+
|
130
138
|
## Credits
|
131
139
|
|
132
140
|
- Translation fr-fr: Francis Chavanon "rimeno"
|
@@ -4,9 +4,10 @@ module PiFi
|
|
4
4
|
class StreamsGetter
|
5
5
|
include Utils
|
6
6
|
|
7
|
-
def initialize(path_pub, path_priv)
|
7
|
+
def initialize(path_pub, path_priv="")
|
8
8
|
@path_pub = path_pub
|
9
9
|
@path_priv = path_priv
|
10
|
+
check_paths
|
10
11
|
end
|
11
12
|
|
12
13
|
def streams
|
@@ -23,5 +24,13 @@ module PiFi
|
|
23
24
|
|
24
25
|
{pub: pub, all: all}
|
25
26
|
end
|
27
|
+
|
28
|
+
def check_paths
|
29
|
+
raise ArgumentError, "Streams file not found at '#{@path_pub}'" unless File.file?(@path_pub)
|
30
|
+
if ! @path_priv.empty? && ! File.file?(@path_priv)
|
31
|
+
warn "Additional streams file not found at '#{@path_priv}'"
|
32
|
+
@path_priv = ""
|
33
|
+
end
|
34
|
+
end
|
26
35
|
end
|
27
36
|
end
|