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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -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,,