<feed xmlns='http://www.w3.org/2005/Atom'>
<title>china-unicom-iptv-gd, branch main</title>
<subtitle>Toolkit for China Unicom IPTV users in Guangdong, China.</subtitle>
<id>https://git.zhineng.li/china-unicom-iptv-gd/atom?h=main</id>
<link rel='self' href='https://git.zhineng.li/china-unicom-iptv-gd/atom?h=main'/>
<link rel='alternate' type='text/html' href='https://git.zhineng.li/china-unicom-iptv-gd/'/>
<updated>2026-05-06T03:08:20Z</updated>
<entry>
<title>make color setup safe in non-interactive environments</title>
<updated>2026-05-06T03:08:20Z</updated>
<author>
<name>Zhineng Li</name>
<email>im@zhineng.li</email>
</author>
<published>2026-05-06T03:08:20Z</published>
<link rel='alternate' type='text/html' href='https://git.zhineng.li/china-unicom-iptv-gd/commit/?id=5fb2c4624e18415823ba7dfa80713c8073e6fd25'/>
<id>urn:sha1:5fb2c4624e18415823ba7dfa80713c8073e6fd25</id>
<content type='text'>
When run by cron, TERM may be unset, which causes tput to fail with:

  tput: No value for $TERM and no -T specified

Initialize color variables to empty strings by default, then apply
tput-based colors only when terminal capabilities are available. This
prevents startup failure in non-interactive runs while preserving
colored output in interactive shells.
</content>
</entry>
<entry>
<title>localize variable</title>
<updated>2026-04-30T14:29:13Z</updated>
<author>
<name>Zhineng Li</name>
<email>im@zhineng.li</email>
</author>
<published>2026-04-30T14:29:13Z</published>
<link rel='alternate' type='text/html' href='https://git.zhineng.li/china-unicom-iptv-gd/commit/?id=c51c5cd43305b1a2291422ce2d804b193ee941a0'/>
<id>urn:sha1:c51c5cd43305b1a2291422ce2d804b193ee941a0</id>
<content type='text'>
</content>
</entry>
<entry>
<title>add 4K channel-matching pattern</title>
<updated>2026-04-30T14:23:30Z</updated>
<author>
<name>Zhineng Li</name>
<email>im@zhineng.li</email>
</author>
<published>2026-04-30T14:23:30Z</published>
<link rel='alternate' type='text/html' href='https://git.zhineng.li/china-unicom-iptv-gd/commit/?id=6e88aa51a14be916524fdf33bfdfdc9392ffafae'/>
<id>urn:sha1:6e88aa51a14be916524fdf33bfdfdc9392ffafae</id>
<content type='text'>
</content>
</entry>
<entry>
<title>uppercase channel name before categorization</title>
<updated>2026-04-30T14:19:04Z</updated>
<author>
<name>Zhineng Li</name>
<email>im@zhineng.li</email>
</author>
<published>2026-04-30T14:17:27Z</published>
<link rel='alternate' type='text/html' href='https://git.zhineng.li/china-unicom-iptv-gd/commit/?id=1e0389798beed2abf25417664e37172fc7a2a976'/>
<id>urn:sha1:1e0389798beed2abf25417664e37172fc7a2a976</id>
<content type='text'>
Some picture-quality markers in channel names are inconsistent, such as
abc-4k and def-4K. Converting names to uppercase first gives us more
reliable matching result.
</content>
</entry>
<entry>
<title>extract `build_channel_logos` function</title>
<updated>2026-01-24T05:53:22Z</updated>
<author>
<name>Zhineng Li</name>
<email>im@zhineng.li</email>
</author>
<published>2026-01-24T05:53:22Z</published>
<link rel='alternate' type='text/html' href='https://git.zhineng.li/china-unicom-iptv-gd/commit/?id=e37cf810b7a76ef0632db665d6dbf2646487ea5f'/>
<id>urn:sha1:e37cf810b7a76ef0632db665d6dbf2646487ea5f</id>
<content type='text'>
</content>
</entry>
<entry>
<title>remove comments</title>
<updated>2026-01-24T05:40:17Z</updated>
<author>
<name>Zhineng Li</name>
<email>im@zhineng.li</email>
</author>
<published>2026-01-24T05:40:17Z</published>
<link rel='alternate' type='text/html' href='https://git.zhineng.li/china-unicom-iptv-gd/commit/?id=edd1d8a333dedbbae7b18aaa9fadc00765d9e498'/>
<id>urn:sha1:edd1d8a333dedbbae7b18aaa9fadc00765d9e498</id>
<content type='text'>
</content>
</entry>
<entry>
<title>extract `retrieve_access_token` function</title>
<updated>2026-01-24T05:39:29Z</updated>
<author>
<name>Zhineng Li</name>
<email>im@zhineng.li</email>
</author>
<published>2026-01-24T05:39:29Z</published>
<link rel='alternate' type='text/html' href='https://git.zhineng.li/china-unicom-iptv-gd/commit/?id=fa1fe75f772f1bb105e281a9986087642df3460a'/>
<id>urn:sha1:fa1fe75f772f1bb105e281a9986087642df3460a</id>
<content type='text'>
</content>
</entry>
<entry>
<title>extract `retrieve_encry_token` function</title>
<updated>2026-01-24T05:29:59Z</updated>
<author>
<name>Zhineng Li</name>
<email>im@zhineng.li</email>
</author>
<published>2026-01-24T05:29:59Z</published>
<link rel='alternate' type='text/html' href='https://git.zhineng.li/china-unicom-iptv-gd/commit/?id=ddab55b91d9af60011ceddca3cc589f4027caf01'/>
<id>urn:sha1:ddab55b91d9af60011ceddca3cc589f4027caf01</id>
<content type='text'>
</content>
</entry>
<entry>
<title>extract `extract_endpoint` function</title>
<updated>2026-01-24T05:18:57Z</updated>
<author>
<name>Zhineng Li</name>
<email>im@zhineng.li</email>
</author>
<published>2026-01-24T05:18:57Z</published>
<link rel='alternate' type='text/html' href='https://git.zhineng.li/china-unicom-iptv-gd/commit/?id=e4108b605da47804d9b44d6c729046051165bb67'/>
<id>urn:sha1:e4108b605da47804d9b44d6c729046051165bb67</id>
<content type='text'>
</content>
</entry>
<entry>
<title>update message indicators and colors</title>
<updated>2026-01-24T04:49:56Z</updated>
<author>
<name>Zhineng Li</name>
<email>im@zhineng.li</email>
</author>
<published>2026-01-24T04:49:56Z</published>
<link rel='alternate' type='text/html' href='https://git.zhineng.li/china-unicom-iptv-gd/commit/?id=2940d607ba8f2882a62f4e6754e9091154403eca'/>
<id>urn:sha1:2940d607ba8f2882a62f4e6754e9091154403eca</id>
<content type='text'>
</content>
</entry>
</feed>
