✅ شرح برنامه: برنامهای که اطلاعات اکانت Github خودمان و یا شخص دیگری را دریافت کرده، و به طور خودکار، تمام Repository های Fork نشده آن اکانت (Account) را شناسایی کرده، و در ضمن، نام Branch اصلی هر یک از آن Repository ها را استخراج کرده (master / main)، سپس پوشهای به همان نام Account ایجاد نموده، و کلیه سورسکدهای هر یک از Repository ها را، در قالب یک فایل ZIP، به زیبایی دانلود میکند!
📌 نکته: ضمنا برنامه کاملا هوشمند بوده و اگر مثلا چند هفته و یا چند ماه بعد، مجددا برنامه را برای همان اکانت اجرا نماییم، صرفا Repository های Update شده را دانلود میکند!
✅ نکته: به دلیل جذابیت و کاربردی بودن این برنامه، و اینکه به غیر از گرفتن کلی ایدههای جذاب، کلی از نکات و تکنیکهای زبان برنامهنویسی پایتون را نیز فرا خواهید گرفت و یا برایتان مرور میگردد، احتمالا علاوه بر انتشار سورسکد، فیلم آموزشی این برنامه نیز تولید و منتشر خواهد شد...
https://github.com/dariush-tasdighi
https://github.com/learning-csharp
#SourceCode #SourceCode10037 #Practical #EthicalHacking
🆔 @Dariush_Tasdighi
🆔 @IranianExperts
🆔 @DT_PYTHON_LEARNING
.
Please open Telegram to view this post
VIEW IN TELEGRAM
GitHub
Dariush-Tasdighi - Overview
ASP.NET (Core) Developer
Telegram: https://t.me/IranianExperts - Dariush-Tasdighi
Telegram: https://t.me/IranianExperts - Dariush-Tasdighi
❤11👍2
Media is too big
VIEW IN TELEGRAM
❤️ سلام دوستان عزیزم ❤️
✅ شرح برنامه: برنامهای که اطلاعات اکانت Github خودمان و یا شخص دیگری را دریافت کرده، و به طور خودکار، تمام Repository های Fork نشده آن اکانت (Account) را شناسایی کرده، و در ضمن، نام Branch اصلی هر یک از آن Repository ها را استخراج کرده (master / main)، سپس پوشهای به همان نام Account ایجاد نموده، و کلیه سورسکدهای هر یک از Repository ها را، در قالب یک فایل ZIP، به زیبایی دانلود میکند!
📌 نکته: ضمنا برنامه کاملا هوشمند بوده و اگر مثلا چند هفته و یا چند ماه بعد، مجددا برنامه را برای همان اکانت اجرا نماییم، صرفا Repository های Update شده را دانلود میکند!
🔴 نکته: دوستان عزیزم، فارغ از اینکه به زبان برنامهنویسی پایتون علاقه دارید یا خیر! و یا دانشی در این خصوص دارید یا خیر! قویا مشاهده این فیلم را به شما توصیه میکنم!
https://github.com/dariush-tasdighi
https://github.com/learning-csharp
#Movie #SourceCode #SourceCode10037 #Practical #EthicalHacking
🆔 @Dariush_Tasdighi
🆔 @IranianExperts
🆔 @DT_PYTHON_LEARNING
.
✅ شرح برنامه: برنامهای که اطلاعات اکانت Github خودمان و یا شخص دیگری را دریافت کرده، و به طور خودکار، تمام Repository های Fork نشده آن اکانت (Account) را شناسایی کرده، و در ضمن، نام Branch اصلی هر یک از آن Repository ها را استخراج کرده (master / main)، سپس پوشهای به همان نام Account ایجاد نموده، و کلیه سورسکدهای هر یک از Repository ها را، در قالب یک فایل ZIP، به زیبایی دانلود میکند!
📌 نکته: ضمنا برنامه کاملا هوشمند بوده و اگر مثلا چند هفته و یا چند ماه بعد، مجددا برنامه را برای همان اکانت اجرا نماییم، صرفا Repository های Update شده را دانلود میکند!
https://github.com/dariush-tasdighi
https://github.com/learning-csharp
#Movie #SourceCode #SourceCode10037 #Practical #EthicalHacking
🆔 @Dariush_Tasdighi
🆔 @IranianExperts
🆔 @DT_PYTHON_LEARNING
.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5❤4
✅ عنوان برنامه: دانلود فایلهای یک Repository
🆔 @Dariush_Tasdighi
🆔 @IranianExperts
🆔 @DT_PYTHON_LEARNING
.
# ********************#SourceCode #SourceCode10037 #Practical #EthicalHacking
import os, requests
os.system(command="cls")
username = input("What is github account: ").lower()
url = f"https://api.github.com/users/{username}/repos"
try:
response = requests.get(url=url)
except:
print(f"Connection Error!")
quit()
if (
not response
or response.status_code != 200
or response.text == ""
or response.text == "[]"
or "Not Found" in response.text
):
print(f"Repository '{username}' not found or empty!")
quit()
response_json = response.json()
non_fork_list = []
for item in response_json:
if item["fork"] == False:
name = item["name"].upper()
updated_at = item["updated_at"]
default_branch = item["default_branch"]
data = (name, default_branch, updated_at)
non_fork_list.append(data)
non_fork_list.sort()
for index, item in enumerate(non_fork_list):
message = f"[{(index + 1):>3}] - [{item[2]:<20}] - [{item[1]:<10}] - {item[0]}"
print(message)
if os.path.exists(path=username) == False:
os.mkdir(path=username)
index = 0
for item in non_fork_list:
updated_at = (
item[2].replace(":", "_").replace("-", "_").replace("T", "_").replace("Z", "")
)
file_name = f"{item[0]}_{updated_at}.zip"
path_name = f"{username}\{file_name}"
if os.path.exists(path=path_name):
break
index += 1
url = f"https://github.com/{username}/{item[0]}/archive/refs/heads/{item[1]}.zip"
response = requests.get(url=url, stream=True)
if response.status_code == 200:
with open(file=path_name, mode="wb") as file:
for chunk in response.iter_content(chunk_size=1024):
file.write(chunk)
message = f"[{(index):>3}] - File '{file_name}' downloaded."
print(message)
# ********************
🆔 @Dariush_Tasdighi
🆔 @IranianExperts
🆔 @DT_PYTHON_LEARNING
.
👍7❤2