অন্যান্য উবুন্টু রূপগুলি ডিফল্টরূপে নেই এমন নোটিফিকেশন -এর উপর নির্ভরতা অপসারণ করতে অ্যান্ড্রিয়া লাজারোত্তোর পাইথন স্ক্রিপ্টে দু'টি মোড এবং সেখানে হ্যান্ডেল রয়েছে যেখানে ইতিমধ্যে অ্যাটমের একটি অনুলিপি ইনস্টল করা হয়নি। এছাড়াও, এটি উল্লেখ করা উচিত যে অন্যান্য নির্ভরতাগুলিও আপনার খুব দরকার need
sudo apt-get পাইথন-অনুরোধগুলি git gvfs-bin ইনস্টল করুন
কিছু অন্যান্য উপ-নির্ভরতা পেতে আমাকেও নিম্নলিখিতটি চালাতে হয়েছিল ...
sudo apt-get -f ইনস্টল করুন
#!/usr/bin/env python
import os
import requests
def msg(text):
"""Give message to user."""
os.system('notify-send "Atom updater" "{}"'.format(text)
+ ' 2>/dev/null '
+'|| echo "{}"'.format(text))
def current():
"""Get current version."""
f = os.popen("apt show atom 2>/dev/null | grep Ver")
result = f.read()
if result:
return result.split(' ')[1].strip()
return "0.0"
def latest():
"""Get latest version."""
upd_url = 'https://github.com/atom/atom/releases/latest'
final = requests.get(upd_url).url
return final.split('tag/v')[1]
def compare(cv, lv):
"""Compare versions."""
return lv.split('.') > cv.split('.')
def upgrade(version):
"""Perform upgrade."""
tempfile = '/tmp/atom.deb'
url = (
'https://github.com/atom/atom/releases/download/'
'v{}/atom-amd64.deb'.format(version)
)
code = os.system(
'rm -f {} && '
'wget "{}" -O {} && '
'dpkg -i {}'.format(tempfile, url, tempfile, tempfile)
)
return code == 0
if __name__ == '__main__':
cv = current()
try:
lv = latest()
except requests.exceptions.ConnectionError:
print 'No network'
exit(0)
print 'Current version', cv
print 'Latest version', lv
result = compare(cv, lv)
if result:
print 'A new version is available!'
msg('Updating Atom to version {}...'.format(lv))
if upgrade(lv):
msg('Update completed.')
else:
msg('Problem during update.')
else:
msg('Atom is updated.')