Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[WIP] TNG #191

Open
wants to merge 196 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
196 commits
Select commit Hold shift + click to select a range
36bccaf
Extend m3u.Track to return line number and raw line
robbiet480 Aug 11, 2018
a1948f2
Checkpoint on internal overhaul of playlist/tracks/lineup/channels.
robbiet480 Aug 12, 2018
acbdd52
FIll PlaylistsCount
robbiet480 Aug 12, 2018
4cdf2a9
XMLTV/EPG parsing checkpoint
robbiet480 Aug 13, 2018
d7f66fa
XMLTV checkpoint
robbiet480 Aug 14, 2018
952cbc7
Checkpoint before redoing Lineup
robbiet480 Aug 15, 2018
35ba398
Checkpoint again. Too much to list, all good things
robbiet480 Aug 16, 2018
77985f9
Minor fixes around logging, XMLTV and more
robbiet480 Aug 16, 2018
3e09bbd
Checkpoint on Schedules Direct before migrating to new repo
robbiet480 Aug 16, 2018
f98a81c
Merge branch 'master' into internal-overhaul
robbiet480 Aug 16, 2018
356841a
Migrate to new repo
robbiet480 Aug 16, 2018
102cb5d
Finish hooking in SD
robbiet480 Aug 16, 2018
1d1562e
More Schedules Direct fixes
robbiet480 Aug 19, 2018
f41fff1
Update README
robbiet480 Aug 19, 2018
0c8d546
Update Gopkg.lock
robbiet480 Aug 19, 2018
02c0206
Fix XMLTV tests
robbiet480 Aug 19, 2018
7b34d39
Fix example.xml path
robbiet480 Aug 19, 2018
2c9f0bd
Update README.md
robbiet480 Aug 19, 2018
3976861
Allow xmltv/example.xml into Git
robbiet480 Aug 19, 2018
66fb277
Add option to ignore-epg-icons under misc
guyspr Aug 20, 2018
fdcaa93
Merge pull request #151 from guyspr/dev
robbiet480 Aug 20, 2018
309792d
Only initialize Schedules Direct if configured. Fixes #149
robbiet480 Aug 20, 2018
107d30a
FAQs
chazlarson Aug 21, 2018
983e15b
Merge pull request #153 from chazlarson/patch-3
robbiet480 Aug 21, 2018
a2fd742
Fixes for bad providers & gzip
robbiet480 Aug 21, 2018
e74ee76
Temporary fix for artwork nil issues
robbiet480 Aug 21, 2018
b407718
Change username/password replacement tokens
robbiet480 Aug 21, 2018
8f37761
Dont panic on empty tags
robbiet480 Aug 21, 2018
9f22c3a
Add Iris as a supported provider
robbiet480 Aug 21, 2018
f2c1a81
Lowercase tags
robbiet480 Aug 21, 2018
6d4f902
Add Area51 as a provider
robbiet480 Aug 21, 2018
a4d0dcb
Support including only specific channels
robbiet480 Aug 21, 2018
d824e2c
Possibly fix some weird <new /> behavior
robbiet480 Aug 21, 2018
54671b4
Maybe fix TV shows for Plex?
robbiet480 Aug 21, 2018
ba9beac
Cleanup .promu.yml, limit to certain platforms for crossbuild
robbiet480 Aug 21, 2018
51b3215
Update Gopkg.toml
robbiet480 Aug 21, 2018
fd01789
Bump version
robbiet480 Aug 21, 2018
6d8de55
Merge branch 'dev' of https://github.com/tellytv/telly into dev
robbiet480 Aug 21, 2018
906a1cf
Fix for <new> XMLTV tag
robbiet480 Aug 21, 2018
85a53b4
Improve logic around adding original-air-date
robbiet480 Aug 21, 2018
bf7b582
Add CORS headers for Angular
guyspr Aug 21, 2018
a8e1769
Merge pull request #155 from guyspr/dev
robbiet480 Aug 21, 2018
8ee7055
Add frontend
robbiet480 Aug 22, 2018
2130ad6
Initial ffmpeg support
robbiet480 Aug 22, 2018
3f5255c
Merge branch 'dev' of https://github.com/tellytv/telly into dev
robbiet480 Aug 22, 2018
f1de7f0
Update Gopkg
robbiet480 Aug 22, 2018
d0b9a70
Telly ffmpeg image
EnorMOZ Aug 23, 2018
8010240
Merge pull request #164 from EnorMOZ/dev
robbiet480 Aug 23, 2018
3ae6861
Add ffmpeg flag
chazlarson Aug 24, 2018
ad1c65b
Merge pull request #165 from chazlarson/patch-4
robbiet480 Aug 24, 2018
1f373f3
Add supported providers to comments
chazlarson Aug 24, 2018
de65fdb
Merge pull request #166 from chazlarson/patch-5
robbiet480 Aug 24, 2018
3a56ec2
Update readme
chazlarson Aug 24, 2018
8494e6a
Create ISSUE_TEMPLATE.md
chazlarson Aug 24, 2018
ce9a279
Delete ISSUE_TEMPLATE.md
chazlarson Aug 24, 2018
cff0e4a
Begin migration from config file driven to database and API driven
robbiet480 Aug 23, 2018
ae0510c
Checkpoint on API, too much to mention
robbiet480 Aug 23, 2018
afbbc56
Fix GetLineupChannelByID issues
robbiet480 Aug 23, 2018
9965fdc
Add ffmpeg status parser
robbiet480 Aug 23, 2018
b4f8233
Metrics improvements
robbiet480 Aug 23, 2018
6070c71
Changes to support frontend
robbiet480 Aug 24, 2018
b10c028
Fix log line
robbiet480 Aug 24, 2018
4812a7c
Update frontend
robbiet480 Aug 24, 2018
8baf47d
Get upsert of lineup channels going, minor fixes
robbiet480 Aug 25, 2018
d1c8599
Checkpoint: working epg.xml, add support for XMLTV programmes, change…
robbiet480 Aug 25, 2018
d89f114
Update packr
robbiet480 Aug 25, 2018
7560013
Run migrations as needed automatically
robbiet480 Aug 25, 2018
8f921d6
Quick cleanup
robbiet480 Aug 25, 2018
b9e75e1
Remove arguments
robbiet480 Aug 25, 2018
bbcc67c
Migrate to the new, more generic, video source providers package and …
robbiet480 Aug 26, 2018
9120b4c
Update frontend
robbiet480 Aug 26, 2018
17f932a
Guide providers and XMLTV tweaking, general cleanup and more
robbiet480 Aug 27, 2018
5925a0c
Update frontend
robbiet480 Aug 27, 2018
e1fa360
Fix XMLTV tests
robbiet480 Aug 27, 2018
afb12a4
Add IceTV XMLTV dtd
robbiet480 Aug 27, 2018
fae8bf6
Update deps
robbiet480 Aug 27, 2018
7f391a2
Add String to LineupChannel for pretty print in logs
robbiet480 Aug 27, 2018
5bb885c
Rebuild Gopkg
robbiet480 Aug 27, 2018
a316485
Remove the sdProgramContainer
robbiet480 Aug 27, 2018
84af8fa
Remove old_lineup.go
robbiet480 Aug 27, 2018
69b30a2
Remove SQLLineup to Lineup
robbiet480 Aug 27, 2018
c0219d9
Remove providers package
robbiet480 Aug 27, 2018
bfeda9f
quick passthrough with gometalinter
robbiet480 Aug 27, 2018
f12f1b6
Ignore gometalinter files
robbiet480 Aug 27, 2018
3556e7d
Uncomment sqlite3 import
robbiet480 Aug 27, 2018
1e18b18
initial channels if nil
myusuf3 Aug 27, 2018
bad23a2
Update frontend
robbiet480 Aug 27, 2018
748d357
Merge pull request #170 from myusuf3/database-and-api
robbiet480 Aug 27, 2018
c4085a6
adding fix for when you first initial a new guide source
myusuf3 Aug 27, 2018
e56d258
adding a context update for when you add a new video source
myusuf3 Aug 27, 2018
b70d47f
adding new command directory
myusuf3 Aug 27, 2018
774e846
adding scaffold for the guide update command
myusuf3 Aug 27, 2018
6c39bce
adding scaffold for the video source update
myusuf3 Aug 27, 2018
4064aa6
removing gin prometheus
myusuf3 Aug 27, 2018
c6c34a7
adding new cron lock
myusuf3 Aug 27, 2018
21de869
adding two cron jobs
myusuf3 Aug 27, 2018
0efc30b
adding a run command
myusuf3 Aug 27, 2018
ab0d754
Add provider specific data field to guide for SD cache implementation
robbiet480 Aug 27, 2018
179f0f5
Merge branch 'database-and-api' of https://github.com/tellytv/telly i…
robbiet480 Aug 27, 2018
531c39c
Get guide data updating going
robbiet480 Aug 28, 2018
7c41d44
Initial support for Schedules Direct caching
robbiet480 Aug 28, 2018
02b86f8
Update frontend
robbiet480 Aug 28, 2018
d3fec5f
Minor fixes for SD
robbiet480 Aug 28, 2018
8ad6f3a
Changes to match latest go.schedulesdirect
robbiet480 Aug 28, 2018
fc1a441
Checkpoint, more work on guide data providers, update the frontend, m…
robbiet480 Aug 30, 2018
db7da3b
fixing context error
myusuf3 Aug 30, 2018
8fa8256
Ensure SD client is always initialized before attempting requests
robbiet480 Aug 30, 2018
56a2c0d
re-enable video sources
robbiet480 Aug 30, 2018
33776a1
Update frontend
robbiet480 Aug 30, 2018
7181645
Support deleting of lineup channels
robbiet480 Aug 30, 2018
20a77c0
Minor updates to improve artwork handling with SD
robbiet480 Sep 1, 2018
83c8c24
Ensure default values are set on lineup
robbiet480 Sep 1, 2018
536060a
Minor SSDP improvements
robbiet480 Sep 2, 2018
b988d97
Improvements to lineup setup and discovery
robbiet480 Sep 2, 2018
5cb9009
Add go.uuid to Gopkg.lock
robbiet480 Sep 2, 2018
3db1ba0
Update go.uuid version.... sometimes I hate godep
robbiet480 Sep 2, 2018
156f464
Ensure that friendly name always has HDHomerun in it
robbiet480 Sep 2, 2018
65afcd9
Initial work to simplify live stream management
robbiet480 Sep 2, 2018
813a40d
Move everything to internal
robbiet480 Sep 2, 2018
7f0a2a0
adding closing match and writing new mapping function
myusuf3 Sep 2, 2018
c14722b
adding new route for the match call
myusuf3 Sep 2, 2018
9b56bba
adding comment for new stream status
myusuf3 Sep 2, 2018
da199fd
Fix adding a lineup so that it also creates channels in the DB for th…
robbiet480 Sep 2, 2018
6a9041f
Merge branch 'database-and-api' of https://github.com/tellytv/telly i…
robbiet480 Sep 3, 2018
ffb89e3
Update frontend
robbiet480 Sep 3, 2018
e4f9f8c
Update circleci config
robbiet480 Sep 6, 2018
487cda1
Move from Goose to sql-migrate so we can use built in migrations via …
robbiet480 Sep 6, 2018
34059eb
Update CircleCI to build Docker images with promu
robbiet480 Sep 6, 2018
065b609
Update versions, ensure dep runs
robbiet480 Sep 6, 2018
64a0ea7
Install dep
robbiet480 Sep 6, 2018
ad98f36
Get circleci to install dep
robbiet480 Sep 6, 2018
af02a0b
Gometalinter fixes
robbiet480 Sep 6, 2018
d1bac6a
Add Squirrel to dep
robbiet480 Sep 6, 2018
2d6e252
combine gometalinter calls
robbiet480 Sep 6, 2018
1479622
dep needs to happen before anything else
robbiet480 Sep 6, 2018
6a0fc7e
curl dep before make
robbiet480 Sep 6, 2018
cfc6a81
test running build in docker
robbiet480 Sep 6, 2018
9f520ec
Revert "test running build in docker"
robbiet480 Sep 6, 2018
ef20d91
set install directory
robbiet480 Sep 6, 2018
8abb0a6
keep trying dep fixes
robbiet480 Sep 6, 2018
c8af253
fix test
robbiet480 Sep 6, 2018
d37dea3
fix test
robbiet480 Sep 6, 2018
6e9dc15
Disable setting docker latest tag
robbiet480 Sep 6, 2018
10ed01d
set DOCKER_REPO
robbiet480 Sep 6, 2018
fa271a9
Merge Dockerfiles together so ffmpeg is always included, ensure make/…
robbiet480 Sep 6, 2018
076c9c2
Fix make docker
robbiet480 Sep 6, 2018
454a1b1
Fix .promu.yml to build sqlite3 with proper tags and cgo enabled
robbiet480 Sep 6, 2018
0cfd3b2
change go version
robbiet480 Sep 6, 2018
28fbdcb
work on promu crossbuild
robbiet480 Sep 6, 2018
5fcdea8
more work on makefile
robbiet480 Sep 6, 2018
e945a1f
remove freebsd from promu builds
robbiet480 Sep 6, 2018
110d00f
more makefile fixes
robbiet480 Sep 6, 2018
32d106c
Fix Squirrel issues and startup with 0 channels
robbiet480 Sep 6, 2018
4fc5e7f
Simplify Dockerfile, improve .promu.yml, make default listen address …
robbiet480 Sep 6, 2018
3433342
Add docker-tag-latest to Makefile
robbiet480 Sep 6, 2018
e78b7ca
Properly expose the Prometheus version collector to Prometheus
robbiet480 Sep 6, 2018
7258eb5
Set default update frequency of the guide & video providers to daily
robbiet480 Sep 6, 2018
9bb2ca5
Update frontend
robbiet480 Sep 6, 2018
f57cc1b
update packr data
robbiet480 Sep 6, 2018
7124cd7
Try to pass around the logger instead of creating a new one in every …
robbiet480 Sep 6, 2018
f28f1de
Remove static build options from .promu.yml since it breaks darwin/*
robbiet480 Sep 6, 2018
e95bb84
Update Dockerfile to specify path to database on a exposed volume and…
robbiet480 Sep 7, 2018
534f75d
Merge branch 'master' into database-and-api
robbiet480 Sep 7, 2018
bf09f2b
Update Gopkg to upgrade go.xtream-codes version and fix squirrel cons…
robbiet480 Sep 7, 2018
1a9ef91
Improve the M3U stream URL regex
robbiet480 Sep 7, 2018
ff33dbd
Fix Viper envars
robbiet480 Sep 7, 2018
afb00b8
Install tzdata
robbiet480 Sep 7, 2018
d04f32a
Revert "Install tzdata"
robbiet480 Sep 7, 2018
4fe46d2
Bump Xtream version to remove zoneinfo dep
robbiet480 Sep 7, 2018
f8182c1
Fix WHERE IN queries
robbiet480 Sep 7, 2018
6c7476f
Improve API logging
robbiet480 Sep 7, 2018
811ea6b
Properly map the XMLTV_URL to URL
robbiet480 Sep 7, 2018
7f69fc5
remove broken pause implementation, pass context all the way through …
robbiet480 Sep 12, 2018
b66db1b
minor sql fixes
robbiet480 Sep 12, 2018
8aac717
expose telly version in xmltv header
robbiet480 Sep 12, 2018
5d61aa5
fixes to SD guide updates
robbiet480 Sep 12, 2018
eae9fd8
Improve error logging and pass source stream errors up
robbiet480 Sep 13, 2018
924bdf3
Fix XMLTV issues
robbiet480 Sep 13, 2018
7f6bd25
Update frontend
robbiet480 Sep 13, 2018
f94203e
Update frontend. Fixes #196
robbiet480 Sep 13, 2018
b5b1771
Merge branch 'master' into database-and-api
robbiet480 Sep 13, 2018
6b9a78c
Get video source updates working
robbiet480 Sep 13, 2018
640f149
Remove XMLTV parameter, it was never actually there, just a bad copy/…
robbiet480 Sep 16, 2018
4b3ada0
Fix the get programme queries to actually work
robbiet480 Sep 16, 2018
a8b40cd
Fix log line
robbiet480 Sep 16, 2018
25a4493
ensure lastStatusJSON isnt nil
robbiet480 Sep 16, 2018
d56d292
Fix programme query logic to return 7 days of data and anything with …
robbiet480 Sep 16, 2018
cc3aeb7
Update README.md
chazlarson Sep 30, 2018
b205a5e
Update README.md
chazlarson Sep 30, 2018
fc5afc2
Minor updates
chazlarson Jan 21, 2019
aa9b4f7
Bump VERSION
chazlarson Feb 17, 2019
e7b08c5
database-and-api merge latest dev changes and misc fixes (#252)
handsomematt Jun 6, 2019
dbd02b9
TNG: Build Process Fixes (Modern Go 1.11) (#253)
handsomematt Jun 10, 2019
4f8e5ab
TNG: Guide & Video Providers, Update & Delete API routes (#254)
handsomematt Jun 10, 2019
cdf9f93
TNG: Lint fixes, go mod tidy, update frontend submodule (#255)
handsomematt Jun 10, 2019
c56e588
update go.mod
Jul 4, 2020
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 3 additions & 7 deletions .circleci/config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,12 +4,8 @@ jobs:
docker:
- image: circleci/golang:1

working_directory: /go/src/github.com/tellytv/telly
steps:
- checkout
- run: curl https://raw.githubusercontent.com/golang/dep/master/install.sh | sh
- run: go get -u github.com/alecthomas/gometalinter
- run: gometalinter --install
- run: dep ensure -vendor-only
- run: go test -v ./...
- run: gometalinter --config=.gometalinter.json ./...
- run: go get -u github.com/golangci/golangci-lint/cmd/golangci-lint
- run: golangci-lint run ./...
- run: go test -v ./...
5 changes: 4 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,12 @@ telly
.DS_Store
/.GOPATH
/bin
*.xml
/*.xml
vendor/
/.build
/.release
/.tarballs
*.tar.gz
telly.config.*
*.db
.gometalinter-*
3 changes: 3 additions & 0 deletions .gitmodules
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
[submodule "frontend"]
path = frontend
url = https://github.com/tellytv/frontend.git
34 changes: 34 additions & 0 deletions .golangci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
linters-settings:
goimports:
local-prefixes: github.com/telly/telly
errcheck:
ignore: fmt:.*,AbortWithError

linters:
enable-all: false
enable:
- deadcode
- errcheck
- gochecknoinits
- goconst
- gofmt
- goimports
- golint
- gosec
- ineffassign
- interfacer
- megacheck
- misspell
- nakedret
- structcheck
- unconvert
- varcheck
- vet
- vetshadow
disable:
- unused
- unparam

run:
skip-files:
- ".*-packr.go$"
34 changes: 0 additions & 34 deletions .gometalinter.json

This file was deleted.

34 changes: 23 additions & 11 deletions .promu.yml
Original file line number Diff line number Diff line change
@@ -1,14 +1,26 @@
repository:
path: github.com/tellytv/telly
path: github.com/tellytv/telly
go:
cgo: true
build:
flags: -a -tags netgo
ldflags: |
-X {{repoPath}}/vendor/github.com/prometheus/common/version.Version={{.Version}}
-X {{repoPath}}/vendor/github.com/prometheus/common/version.Revision={{.Revision}}
-X {{repoPath}}/vendor/github.com/prometheus/common/version.Branch={{.Branch}}
-X {{repoPath}}/vendor/github.com/prometheus/common/version.BuildUser={{user}}@{{host}}
-X {{repoPath}}/vendor/github.com/prometheus/common/version.BuildDate={{date "20060102-15:04:05"}}
flags: -a -tags 'netgo json1'
ldflags: |
-X github.com/prometheus/common/version.Version={{.Version}}
-X github.com/prometheus/common/version.Revision={{.Revision}}
-X github.com/prometheus/common/version.Branch={{.Branch}}
-X github.com/prometheus/common/version.BuildUser={{user}}@{{host}}
-X github.com/prometheus/common/version.BuildDate={{date "20060102-15:04:05"}}
tarball:
files:
- LICENSE
- NOTICE
files:
- LICENSE
- NOTICE
crossbuild:
platforms:
- linux/amd64
- linux/386
- darwin/amd64
- darwin/386
- windows/amd64
- windows/386
- linux/arm
- linux/arm64
26 changes: 3 additions & 23 deletions Dockerfile
Original file line number Diff line number Diff line change
@@ -1,26 +1,6 @@
FROM golang:alpine as builder

# Download and install the latest release of dep
ADD https://github.com/golang/dep/releases/download/v0.5.0/dep-linux-amd64 /usr/bin/dep
RUN chmod +x /usr/bin/dep

# Install git because gin/yaml needs it
RUN apk update && apk upgrade && apk add git

# Copy the code from the host and compile it
WORKDIR $GOPATH/src/github.com/tellytv/telly
COPY Gopkg.toml Gopkg.lock ./
RUN dep ensure --vendor-only
COPY . ./
RUN CGO_ENABLED=0 GOOS=linux go build -a -installsuffix nocgo -o /app .

# install ca root certificates + listen on 0.0.0.0 + build
RUN apk add --no-cache ca-certificates \
&& find . -type f -print0 | xargs -0 sed -i 's/"listen", "localhost/"listen", "0.0.0.0/g' \
&& CGO_ENABLED=0 GOOS=linux go install -ldflags '-w -s -extldflags "-static"'

FROM scratch
COPY --from=builder /app ./
COPY --from=builder /etc/ssl/certs/ /etc/ssl/certs/
COPY .build/linux-amd64/telly ./app
EXPOSE 6077
ENTRYPOINT ["./app"]


Loading