udemy-userAPI 0.3.2__py3-none-any.whl → 0.3.4__py3-none-any.whl

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,4 +1,4 @@
1
- __version__ = '0.3.2'
1
+ __version__ = '0.3.4'
2
2
  __lib_name__ = 'udemy_userAPI' # local name
3
3
  __repo_name__ = 'udemy-userAPI'
4
4
  __autor__ = 'PauloCesar-dev404'
udemy_userAPI/api.py CHANGED
@@ -66,7 +66,7 @@ def get_pssh(init_url):
66
66
  from .authenticate import UdemyAuth
67
67
  auth = UdemyAuth()
68
68
  if not auth.verif_login():
69
- raise LoginException("Sessão expirada!")
69
+ raise LoginException("Seção expirada!")
70
70
  res = requests.get(init_url, headers=HEADERS_octet_stream)
71
71
  if not res.ok:
72
72
  return
@@ -134,7 +134,7 @@ def extract(pssh, license_token):
134
134
  from .authenticate import UdemyAuth
135
135
  auth = UdemyAuth()
136
136
  if not auth.verif_login():
137
- raise LoginException("Sessão expirada!")
137
+ raise LoginException("Seção expirada!")
138
138
  license_url = (f"https://www.udemy.com/api-2.0/media-license-server/validate-auth-token?drm_type=widevine"
139
139
  f"&auth_token={license_token}")
140
140
  session_id = cdm.open()
@@ -163,7 +163,7 @@ def get_mpd_file(mpd_url):
163
163
  from .authenticate import UdemyAuth
164
164
  auth = UdemyAuth()
165
165
  if not auth.verif_login():
166
- raise LoginException("Sessão expirada!")
166
+ raise LoginException("Seção expirada!")
167
167
  try:
168
168
  # Faz a solicitação GET com os cabeçalhos
169
169
  response = requests.get(mpd_url, headers=HEADERS_USER)
@@ -240,7 +240,7 @@ def get_add_files(course_id: int):
240
240
  from .authenticate import UdemyAuth
241
241
  auth = UdemyAuth()
242
242
  if not auth.verif_login():
243
- raise LoginException("Sessão expirada!")
243
+ raise LoginException("Seção expirada!")
244
244
  url = (f'https://www.udemy.com/api-2.0/courses/{course_id}/subscriber-curriculum-items/?page_size=2000&fields['
245
245
  f'lecture]=title,object_index,is_published,sort_order,created,asset,supplementary_assets,is_free&fields['
246
246
  f'quiz]=title,object_index,is_published,sort_order,type&fields[practice]=title,object_index,is_published,'
@@ -312,7 +312,7 @@ def get_links(course_id: int, id_lecture: int):
312
312
  from .authenticate import UdemyAuth
313
313
  auth = UdemyAuth()
314
314
  if not auth.verif_login():
315
- raise LoginException("Sessão expirada!")
315
+ raise LoginException("Seção expirada!")
316
316
  try:
317
317
  # Faz a solicitação GET com os cabeçalhos
318
318
  response = requests.get(get, headers=HEADERS_USER)
@@ -360,7 +360,7 @@ def get_external_liks(course_id: int, id_lecture, asset_id):
360
360
  from .authenticate import UdemyAuth
361
361
  auth = UdemyAuth()
362
362
  if not auth.verif_login():
363
- raise LoginException("Sessão expirada!")
363
+ raise LoginException("Seção expirada!")
364
364
  url = (f'https://www.udemy.com/api-2.0/users/me/subscribed-courses/{course_id}/lectures/{id_lecture}/'
365
365
  f'supplementary-assets/{asset_id}/?fields[asset]=external_url')
366
366
  try:
@@ -561,7 +561,7 @@ def lecture_infor(course_id: int, id_lecture: int):
561
561
  from .authenticate import UdemyAuth
562
562
  auth = UdemyAuth()
563
563
  if not auth.verif_login():
564
- raise LoginException("Sessão expirada!")
564
+ raise LoginException("Seção expirada!")
565
565
  edpoint = (f"https://www.udemy.com/api-2.0/users/me/subscribed-courses/{course_id}/lectures/{id_lecture}/?"
566
566
  f"fields[asset]=media_license_token")
567
567
  r = requests.get(edpoint, headers=HEADERS_USER)
@@ -592,7 +592,7 @@ def assets_infor(course_id: int, id_lecture: int, assets_id: int):
592
592
  from .authenticate import UdemyAuth
593
593
  auth = UdemyAuth()
594
594
  if not auth.verif_login():
595
- raise LoginException("Sessão expirada!")
595
+ raise LoginException("Seção expirada!")
596
596
  endpoint = (f'https://www.udemy.com/api-2.0/assets/{assets_id}/?fields[asset]=@min,status,delayed_asset_message,'
597
597
  f'processing_errors,body&course_id={course_id}&lecture_id={id_lecture}')
598
598
  r = requests.get(endpoint, headers=HEADERS_USER)
@@ -88,13 +88,10 @@ class UdemyAuth:
88
88
  else:
89
89
  return False
90
90
  else:
91
- if (('upstream connect error or disconnect/reset before headers.'
92
- ' reset reason: remote connection'
93
- ' failure, transport failure reason:'
94
- ' delayed connect error: 111')
95
- in resp.text):
91
+ if 'error: 111' in resp.text:
96
92
  raise Upstreamconnecterror(message='Erro no servidor remoto!')
97
- raise LoginException(f"Erro Ao obter login atualize a lib! -> {resp.text}")
93
+ else:
94
+ raise LoginException(f"Erro Ao obter login : {resp.text}")
98
95
  except requests.ConnectionError as e:
99
96
  raise UdemyUserApiExceptions(f"Erro de conexão: {e}")
100
97
  except requests.Timeout as e:
@@ -119,7 +116,7 @@ class UdemyAuth:
119
116
  """
120
117
  try:
121
118
  if self.verif_login():
122
- raise UserWarning("Atenção, você já possui uma sessão válida!")
119
+ raise UserWarning("Atenção, você já possui uma seção válida!")
123
120
  s = cloudscraper.create_scraper()
124
121
  r = s.get(
125
122
  "https://www.udemy.com/join/signup-popup/",
@@ -225,7 +222,7 @@ class UdemyAuth:
225
222
  from .api import J
226
223
  try:
227
224
  if self.verif_login():
228
- raise UserWarning("Atenção, você já possui uma sessão válida!")
225
+ raise UserWarning("Atenção, você já possui uma seção válida!")
229
226
  # Inicializa uma sessão com proteção contra Cloudflare
230
227
  session = cloudscraper.create_scraper()
231
228
 
udemy_userAPI/bultins.py CHANGED
@@ -76,7 +76,7 @@ class Files:
76
76
  from .authenticate import UdemyAuth
77
77
  auth = UdemyAuth()
78
78
  if not auth.verif_login():
79
- raise LoginException("Sessão expirada!")
79
+ raise LoginException("Seção expirada!")
80
80
  download_urls = []
81
81
  for files in self.__data:
82
82
  lecture_id = files.get('lecture_id', None)
udemy_userAPI/sections.py CHANGED
@@ -12,7 +12,7 @@ def get_courses_plan(tipe: str) -> list:
12
12
  from .authenticate import UdemyAuth
13
13
  auth = UdemyAuth()
14
14
  if not auth.verif_login():
15
- raise LoginException("Sessão expirada!")
15
+ raise LoginException("Seção expirada!")
16
16
  courses_data = []
17
17
  if tipe == 'default':
18
18
  response = requests.get(f"https://www.udemy.com/api-2.0/users/me/subscribed-courses/?page_size=1000"
@@ -69,7 +69,7 @@ def get_details_courses(course_id):
69
69
  from .authenticate import UdemyAuth
70
70
  auth = UdemyAuth()
71
71
  if not auth.verif_login():
72
- raise LoginException("Sessão expirada!")
72
+ raise LoginException("Seção expirada!")
73
73
  response = requests.get(
74
74
  f"https://www.udemy.com/api-2.0/courses/{course_id}/subscriber-curriculum-items/?"
75
75
  f"caching_intent=True&fields%5Basset%5D=title%2Cfilename%2Casset_type%2Cstatus%2Ctime_estimation%2"
@@ -105,7 +105,7 @@ def get_course_infor(course_id):
105
105
  from .authenticate import UdemyAuth
106
106
  auth = UdemyAuth()
107
107
  if not auth.verif_login():
108
- raise LoginException("Sessão expirada!")
108
+ raise LoginException("Seção expirada!")
109
109
  end_point = (
110
110
  f'https://www.udemy.com/api-2.0/courses/{course_id}/?fields[course]=title,context_info,primary_category,'
111
111
  'primary_subcategory,avg_rating_recent,visible_instructors,locale,estimated_content_length,'
udemy_userAPI/udemy.py CHANGED
@@ -20,7 +20,7 @@ class Udemy:
20
20
  """
21
21
  self.__headers = HEADERS_USER
22
22
  if not verif_login:
23
- raise LoginException("Sessão expirada!")
23
+ raise LoginException("Seção expirada!")
24
24
 
25
25
  @staticmethod
26
26
  def my_subscribed_courses_by_plan() -> list[dict]:
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: udemy_userAPI
3
- Version: 0.3.2
3
+ Version: 0.3.4
4
4
  Summary: Obtenha detalhes de cursos que o usuário esteja inscrito da plataforma Udemy,usando o EndPoint de usuário o mesmo que o navegador utiliza para acessar e redenrizar os cursos.
5
5
  Author: PauloCesar-dev404
6
6
  Author-email: paulocesar0073dev404@gmail.com
@@ -19,7 +19,7 @@ Requires-Dist: pywidevine
19
19
  # udemy-userAPI
20
20
 
21
21
 
22
- ![Versão](https://img.shields.io/badge/version-0.3.2-orange)
22
+ ![Versão](https://img.shields.io/badge/version-0.3.4-orange)
23
23
  ![Licença](https://img.shields.io/badge/license-MIT-orange)
24
24
  [![Sponsor](https://img.shields.io/badge/💲Donate-yellow)](https://paulocesar-dev404.github.io/me-apoiando-online/)
25
25
  [![Sponsor](https://img.shields.io/badge/Documentation-green)](https://github.com/PauloCesar-dev404/udemy-userAPI/blob/main/docs/iniciando.md)
@@ -11,19 +11,19 @@ m3u8_analyzer/__init__.py,sha256=v7CiVqsCq2YH347C-QR1kHPJtXFFdru8qole3E9adCY,217
11
11
  m3u8_analyzer/__version__.py,sha256=YP3yT87ZKrU3eARUUdQ_pg4xAXLGfBXjH4ZgEoZSq1I,25
12
12
  m3u8_analyzer/exeptions.py,sha256=fK6bU3YxNSbfsPmCp4yudUvmwy_g6dj2KwIkH0dW4LI,3672
13
13
  udemy_userAPI/__init__.py,sha256=BPle89xE_CMTKKe_Lw6jioYLgpH-q_Lpho2S-n1PIUA,206
14
- udemy_userAPI/__version__.py,sha256=aMKbixxAkks_VfsbQJs0sU6jFllEvVm4k3e-E32e5u8,405
15
- udemy_userAPI/api.py,sha256=oDVylMQ6CsMeJ7V7FKdjjjvY0GrHHqJdVMTTptQmSiE,24277
16
- udemy_userAPI/authenticate.py,sha256=gpHwS34WboQCpktQg6NsvLBJzX9AL8Do3Gk08PLR4GY,14133
17
- udemy_userAPI/bultins.py,sha256=ZEksThVSaDe7jsyeCqhCiFLJsy-pIN8EdnJ6Aoh4s9k,16428
14
+ udemy_userAPI/__version__.py,sha256=Y5EswWnkEFqX77VlVabBYEHq1PF_ah5ZrWim3K_4g-s,405
15
+ udemy_userAPI/api.py,sha256=U47bxTkdqVgAwxOvHpOV7alzVnEEgpxygBYrnkH7x50,24277
16
+ udemy_userAPI/authenticate.py,sha256=tUeHkIUIlvBlSKyymvPjgYAzpalpYuO7gCFrwld5V8s,13885
17
+ udemy_userAPI/bultins.py,sha256=YLaiGqzHKK7HAgmw7wrgbev1Uq3dHAsU-j1vb3kQn_A,16428
18
18
  udemy_userAPI/exeptions.py,sha256=kfnPdZpqYY8nd0gnl6_Vh-MIz-XupmmbRPIuFnyXupk,692
19
- udemy_userAPI/sections.py,sha256=oP3jvbsWocemqhzzOAOoeL7ICF1f4gNvjL4FJBt47pE,5474
20
- udemy_userAPI/udemy.py,sha256=SpK0LI4hjO45nZDz5waw-Py-d0uulBb28TVjltyWBxM,2920
19
+ udemy_userAPI/sections.py,sha256=qyD8GwU4AR9ezL1wgQOC3HopExk72L-vp49LJZQl8XI,5474
20
+ udemy_userAPI/udemy.py,sha256=nCx7czlGPgkqaIB-E1RVO1IGTS_G9yZWhBBhMHyt45I,2920
21
21
  udemy_userAPI/.cache/.udemy_userAPI,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
22
22
  udemy_userAPI/mpd_analyzer/__init__.py,sha256=i3JVWyvcFLaj5kPmx8c1PgjsLht7OUIQQClD4yqYbo8,102
23
23
  udemy_userAPI/mpd_analyzer/bin.wvd,sha256=1rAJdCc120hQlX9qe5KUS628eY2ZHYxQSmyhGNefSzo,2956
24
24
  udemy_userAPI/mpd_analyzer/mpd_parser.py,sha256=PgUkHc5x8FTuXFCuYkWPZr9TaO_nsKalb02EFYl_zeA,8926
25
- udemy_userAPI-0.3.2.dist-info/LICENSE,sha256=l4jdKYt8gSdDFOGr09vCKnMn_Im55XIcQKqTDEtFfNs,1095
26
- udemy_userAPI-0.3.2.dist-info/METADATA,sha256=ir_5qB1Q1qu66M3pCaL9VN7BUZBX0MwStZg0iQ0r03k,1438
27
- udemy_userAPI-0.3.2.dist-info/WHEEL,sha256=PZUExdf71Ui_so67QXpySuHtCi3-J3wvF4ORK6k_S8U,91
28
- udemy_userAPI-0.3.2.dist-info/top_level.txt,sha256=ijTINaSDRKhdahY_X7dmSRFTxBIwQErWv9ATCG55mog,14
29
- udemy_userAPI-0.3.2.dist-info/RECORD,,
25
+ udemy_userAPI-0.3.4.dist-info/LICENSE,sha256=l4jdKYt8gSdDFOGr09vCKnMn_Im55XIcQKqTDEtFfNs,1095
26
+ udemy_userAPI-0.3.4.dist-info/METADATA,sha256=IEu2-1E9wnR9zwn0KsViLF7dNwAigH4rBHsNEj5cgJ8,1438
27
+ udemy_userAPI-0.3.4.dist-info/WHEEL,sha256=PZUExdf71Ui_so67QXpySuHtCi3-J3wvF4ORK6k_S8U,91
28
+ udemy_userAPI-0.3.4.dist-info/top_level.txt,sha256=ijTINaSDRKhdahY_X7dmSRFTxBIwQErWv9ATCG55mog,14
29
+ udemy_userAPI-0.3.4.dist-info/RECORD,,