From d962a293aee16841dc7c8e4ac88c6fe6d330bdd6 Mon Sep 17 00:00:00 2001 From: Alexander Popov Date: Tue, 4 Apr 2017 22:46:09 +0300 Subject: [PATCH] Init --- LICENSE | 24 ++++++++++++++++++++++++ README.md | 14 ++++++++++++++ adpf/icon.png | Bin 0 -> 1604 bytes aimp/icon.png | Bin 0 -> 1660 bytes altdrag/icon.png | Bin 0 -> 273 bytes apps.json | 30 ++++++++++++++++++++++++++++++ crystaldiskinfo/icon.png | Bin 0 -> 2306 bytes empty.json | 8 ++++++++ make_table.py | 31 +++++++++++++++++++++++++++++++ 9 files changed, 107 insertions(+) create mode 100644 LICENSE create mode 100644 README.md create mode 100644 adpf/icon.png create mode 100644 aimp/icon.png create mode 100644 altdrag/icon.png create mode 100644 apps.json create mode 100644 crystaldiskinfo/icon.png create mode 100644 empty.json create mode 100644 make_table.py diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..cf1ab25 --- /dev/null +++ b/LICENSE @@ -0,0 +1,24 @@ +This is free and unencumbered software released into the public domain. + +Anyone is free to copy, modify, publish, use, compile, sell, or +distribute this software, either in source code form or as a compiled +binary, for any purpose, commercial or non-commercial, and by any +means. + +In jurisdictions that recognize copyright laws, the author or authors +of this software dedicate any and all copyright interest in the +software to the public domain. We make this dedication for the benefit +of the public at large and to the detriment of our heirs and +successors. We intend this dedication to be an overt act of +relinquishment in perpetuity of all present and future rights to this +software under copyright law. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR +OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, +ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR +OTHER DEALINGS IN THE SOFTWARE. + +For more information, please refer to diff --git a/README.md b/README.md new file mode 100644 index 0000000..e8ab003 --- /dev/null +++ b/README.md @@ -0,0 +1,14 @@ +__Список программного обеспечения для ОС Windows, которое поддерживает режим portable__ + +__Типы активации portable__ +- `Inst` - Режим portable выбирается во время установки +- `Conf` - Для активации portable необходимо создать файл +- `Zip` - На сайте присутствует прекомпилированная portable версия приложения +- `Portable` - Приложение самостоятельно хранит все файлы в директории + +| | App name | Portable type | App category | Site | +| - | -------- | ------------- | ------------ | ---- | +| ![](https://raw.githubusercontent.com/iiiypuk/portable-apps/master/aimp/icon.png) | AIMP | Inst | music | [Go to](http://aimp.ru/) | +| ![](https://raw.githubusercontent.com/iiiypuk/portable-apps/master/altdrag/icon.png) | AltDrag | Zip | system | [Go to](https://stefansundin.github.io/altdrag/) | +| ![](https://raw.githubusercontent.com/iiiypuk/portable-apps/master/adpf/icon.png) | Awesome Duplicate Photo Finder | Portable | images | [Go to](http://www.duplicate-finder.com/photo.html) | +| ![](https://raw.githubusercontent.com/iiiypuk/portable-apps/master/crystaldiskinfo/icon.png) | CrystalDiskInfo | Zip | system | [Go to](http://crystalmark.info/?lang=en) | diff --git a/adpf/icon.png b/adpf/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..b4a44628ee3ecace909073839abd4490f3ac53c1 GIT binary patch literal 1604 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 P7c+Re`njxgN@xNAD;Hn1 literal 0 HcmV?d00001 diff --git a/apps.json b/apps.json new file mode 100644 index 0000000..9d4dc43 --- /dev/null +++ b/apps.json @@ -0,0 +1,30 @@ +[ + { + "app_name": "AIMP", + "type": "Inst", + "category": "music", + "directory": "aimp", + "homepage": "http://aimp.ru/" + }, + { + "app_name": "Awesome Duplicate Photo Finder", + "type": "Portable", + "category": "images", + "directory": "adpf", + "homepage": "http://www.duplicate-finder.com/photo.html" + }, + { + "app_name": "AltDrag", + "type": "Zip", + "category": "system", + "directory": "altdrag", + "homepage": "https://stefansundin.github.io/altdrag/" + }, + { + "app_name": "CrystalDiskInfo", + "type": "Zip", + "category": "system", + "directory": "crystaldiskinfo", + "homepage": "http://crystalmark.info/?lang=en" + } +] diff --git a/crystaldiskinfo/icon.png b/crystaldiskinfo/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..af1ccac3a0c57cd58555e4d8d613b541357c3177 GIT binary patch literal 2306 zcmV+d3H|noP)pFAY({UO#lFTB>(_`g8%^e{{R4h=l}px2mk>USO5SzmjD14Z`WEM zkN^M(h)G02RCwAn(EC4>i5>^=IlrEL?b-Xii*?t{HA#wcnOtJAQBoF_dQl>mHX5u_Sk;vK@_Nuwk$=)mF#QWkf2&%y;lG&&=~VKb+Tj{|Rs2)oO&DNaVyZC%CSJ zWKNWPmJ_9BaH8~VPL!3;iSjOTB0(u9x>Ui5%Bnfh)do&f)69t)|KLQ;LQd3jpA-GN zn-d9pIMKa+PSi2Ti8>#0T|+O>pH=!WhR65NJo$Dd3xhQ*R$H(zvteOv&tkI+3nxz& z?tUzM_pt~FV-XU`;&42RW63Py(^(|tusB=9BD0i5P6dnnY8HY978jc|XzBxkBQH(z z+`Sj?S#D%tw~ZkOK0{9K47vI+ zv2%*NcTdsIeN(jOz!dE{_?AMBEGSN>^ZC5z$6Oz-ud*pWbF$_1xiFtbu4hYTdZ(@~gH5u7dl8J2Co`+G>9rH;!s{}1R_$wbPQ#m}-)dz`=c`|+FVw$SD!w6GYVVuW#-FZP zTH{iua0+Z8$G{eH4I6-wO|+Qj>|H0+x4Z|ODM_GYJ4+te|pxzRb!)(T&-zqd%$!k+h<$oTT5PfW6A*YN8VmOJW| z&cR(U+z=t=dHB@}*KWKFD~EEjurH$@&5D%&T9GyTwNb&Wm*0hjvf5Vd;L8Q=hj|w7 zXaP@NjN`fN9VTWM@amlsBjeMYY+S{alw8wB#FZ@`h^b%L=2xb&*?9;0R)@tr?|@pN z-nx8zwlYKUyKSF{RWo=b831X4DWw|Ia~jMnaClE@yqQ*ELOzRG zl?KnAyhO1e3(ueYiMQi_Pw6vGFOqnwW-C$>Hpovq(-(!tCrU-oJl`rMXu~&1(nm zQ?DML&+c+zZQX4sW~7jRkYePy1pVS3^!0Y*@nZ@4`^9K(YQjs|B<5Iv(E!SMHD*+c z7#WcvKQA8_F63fnR)NvcFS}8+Ir$cyon837ycAUx z0)!ok;B+mc@#T+ReY~*n@_T)Ky^u=BAeG86IXMf4`CrkmZN%2Lr+`ff@fdM=m9!6zlCCW+#$Uc7tPOgFMCoA{N8EwwPauYu>&*P_pyTv87 znEoJzij-Jd0+!Ukv!~+_wf7)9>pV(JD=;Zj;C_DxVv?g#Q&oqlsVOuxG(sTA$K{e- zgohvD^j3Q_pX-GwS8YD0G1ry;}mB0DP&^v zE3Mj;j<0n*#JqsLg+giOAAvtmzKuq8~e|#F%MNa@xz#q{U_9k$(fo0K@nG6EP$)~ z9`>{E+*O9=Q3@;jQ?%A5mQ2tTZVYPQ*wOOpfc1x1NWL>0UrD3Q-#~_%jHy%})S?`})VfYJKZaS&7+!Rl1 zt)pp`RTLRpMv;N}G14=QBz=oh_+pt$KX3P*qQ_3oS=jED4QGBf930QW*6uj0ZIj{V znFmLHI=1mMu#KMydzVbuIGn@!&8e{6mImuBDX_3hhM8?L*4iXtwe=|&TP4E4A`wRG zGx5duE^l~7Mjj^&4c(;1#-5LiO?F6hblrw^baxCJukw-@7`aLG4c#PqhHer)16Rq9 z`r9Qs`r9Qd^|nh^=<+4YbX+7q=(tF}Tj?zMc7?O#n`O?Dua-GUzWTxW(U;#lkN)#x c{j~oM08Ad`FUXpqfB*mh07*qoM6N<$f^yk#E&u=k literal 0 HcmV?d00001 diff --git a/empty.json b/empty.json new file mode 100644 index 0000000..fc6d295 --- /dev/null +++ b/empty.json @@ -0,0 +1,8 @@ +, + { + "app_name": "", + "type": "", + "category": "", + "directory": "", + "homepage": "" + } \ No newline at end of file diff --git a/make_table.py b/make_table.py new file mode 100644 index 0000000..68dbf63 --- /dev/null +++ b/make_table.py @@ -0,0 +1,31 @@ +#!/usr/bin/env python3 + +import json + +__author__ = 'Alexander Popov' +__version__ = '1.0.0' +__license__ = 'Unlicense' + +README = '__Список программного обеспечения для ОС Windows, которое поддерживает режим portable__\n\n' +README += '__Типы активации portable__\n' +README += '- `Inst` - Режим portable выбирается во время установки\n' +README += '- `Conf` - Для активации portable необходимо создать файл\n' +README += '- `Zip` - На сайте присутствует прекомпилированная portable версия приложения\n' +README += '- `Portable` - Приложение самостоятельно хранит все файлы в директории\n\n' + +if __name__ == '__main__': + with open('apps.json', 'r', encoding='utf-8') as f: + APPS = json.loads(f.read()) + APPS = sorted(APPS, key=lambda app: app['app_name']) + + TABLE_TEXT = str(README) + TABLE_TEXT += '| | App name | Portable type | App category | Site |\n' + TABLE_TEXT += '| - | -------- | ------------- | ------------ | ---- |\n' + + for app in APPS: + TABLE_TEXT += '| {icon} | {app_name} | {type} | {cat} | {site} |\n'.format( + icon='![](https://raw.githubusercontent.com/iiiypuk/portable-apps/master/{0}/icon.png)'.format(app['directory']), + app_name=app['app_name'], type=app['type'], cat=app['category'], site='[Go to]({0})'.format(app['homepage'])) + + with open('README.md', 'w+', encoding='utf-8') as f: + f.write(TABLE_TEXT)