forked from matschaffer/profile
-
Notifications
You must be signed in to change notification settings - Fork 1
/
utils.conf
44 lines (38 loc) · 1.25 KB
/
utils.conf
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
nth_field() {
awk "{print \$$1}"
}
svn_remove_unversioned() {
svn st | grep -e "^\?" | nth_field 2 | xargs rm -rf
}
svn_list_siblings() {
local base siblings sibling
base=`svn info | grep URL | nth_field 2 | xargs dirname`
siblings=`svn ls ${base}`
for sibling in ${siblings}; do
echo ${base}/${sibling}
done
}
to_iso_time() {
while [ -n "$1" ]; do
ruby -e "require 'time'; puts Time.at($1 / 1000).utc.iso8601"
shift
done
}
to_tvlistings_query() {
ruby <<EOS
%w(time cgi uri).each { |l| require l }
query = CGI.parse(URI.parse("$1").query)
puts "http://eko.dev.cim.comcast.net/cimdata/tv/lineups/tms-@HEADEND_TOKEN@/programs/@START_TIME_TOKEN@/PT@DURATION_TOKEN@m?tvgd=true&vcn=@VCN_TOKEN@&tz=UTC".
gsub('@HEADEND_TOKEN@', query['headend'].first).
gsub('@START_TIME_TOKEN@', URI.escape(Time.at(query['startTime'].first.to_i / 1000).utc.iso8601, Regexp.new("[^#{URI::PATTERN::UNRESERVED}]"))).
gsub('@DURATION_TOKEN@', ((query['endTime'].first.to_i - query['startTime'].first.to_i) / 60000).to_s).
gsub('@VCN_TOKEN@', query['vcn'].first.to_i.to_s)
EOS
}
tvlistings_check() {
echo `to_tvlistings_query "$1"`
to_tvlistings_query "$1" | xargs curl | tidy -xml -i
}
flike() {
find . -name "*$1*"
}