Skip to content

Commit 71ff6e0

Browse files
authored
Removes voiceover related temporary changes (oppia#22511)
* Removes voiceover related temporary changes * Adds feature flag to deprecated section * Removes voiceover jobs from registry * Fixes mypy check * Fixes lint checks * Removes non required files * Removes instances of removed file * Fixes lint issues * Fixes frontend tests * Fixes acceptance tests * Fixes lint tests
1 parent a00e8b7 commit 71ff6e0

File tree

41 files changed

+21
-2961
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

41 files changed

+21
-2961
lines changed

core/controllers/voiceover.py

Lines changed: 0 additions & 90 deletions
Original file line numberDiff line numberDiff line change
@@ -115,96 +115,6 @@ def put(self) -> None:
115115
self.render_json(self.values)
116116

117117

118-
class PutVoiceArtistMetadataHandlerNormalizedPayloadDict(TypedDict):
119-
"""Dict representation of VoiceArtistMetadataHandler's normalized_payload
120-
dictionary.
121-
"""
122-
123-
voice_artist_id: str
124-
language_code: str
125-
language_accent_code: str
126-
127-
128-
class VoiceArtistMetadataHandler(
129-
base.BaseHandler[
130-
PutVoiceArtistMetadataHandlerNormalizedPayloadDict, Dict[str, str]
131-
]
132-
):
133-
"""Handler class to manage voice artist data for the voiceover admin page."""
134-
135-
GET_HANDLER_ERROR_RETURN_TYPE = feconf.HANDLER_TYPE_JSON
136-
URL_PATH_ARGS_SCHEMAS: Dict[str, str] = {}
137-
HANDLER_ARGS_SCHEMAS = {
138-
'GET': {},
139-
'PUT': {
140-
'voice_artist_id': {'schema': {'type': 'basestring'}},
141-
'language_code': {'schema': {'type': 'basestring'}},
142-
'language_accent_code': {'schema': {'type': 'basestring'}},
143-
},
144-
}
145-
146-
@acl_decorators.can_access_voiceover_admin_page
147-
def get(self) -> None:
148-
"""Retrieves voice artist data for the voiceover admin page."""
149-
voice_artist_id_to_language_mapping = (
150-
voiceover_services.get_all_voice_artist_language_accent_mapping()
151-
)
152-
voice_artist_id_to_voice_artist_name = (
153-
voiceover_services.get_voice_artist_ids_to_voice_artist_names()
154-
)
155-
156-
self.values.update(
157-
{
158-
'voice_artist_id_to_language_mapping': voice_artist_id_to_language_mapping,
159-
'voice_artist_id_to_voice_artist_name': voice_artist_id_to_voice_artist_name,
160-
}
161-
)
162-
self.render_json(self.values)
163-
164-
@acl_decorators.can_access_voiceover_admin_page
165-
def put(self) -> None:
166-
"""Updates voice artist data from the voiceover admin page."""
167-
assert self.normalized_payload is not None
168-
voice_artist_id = self.normalized_payload['voice_artist_id']
169-
language_code = self.normalized_payload['language_code']
170-
language_accent_code = self.normalized_payload['language_accent_code']
171-
172-
voiceover_services.update_voice_artist_language_mapping(
173-
voice_artist_id, language_code, language_accent_code
174-
)
175-
self.render_json(self.values)
176-
177-
178-
class GetSampleVoiceoversForGivenVoiceArtistHandler(
179-
base.BaseHandler[Dict[str, str], Dict[str, str]]
180-
):
181-
"""Handler class to get sample contributed voiceovers of a voice artist in
182-
a given language.
183-
"""
184-
185-
GET_HANDLER_ERROR_RETURN_TYPE = feconf.HANDLER_TYPE_JSON
186-
URL_PATH_ARGS_SCHEMAS = {
187-
'voice_artist_id': {'schema': {'type': 'basestring'}},
188-
'language_code': {'schema': {'type': 'basestring'}},
189-
}
190-
HANDLER_ARGS_SCHEMAS: Dict[str, Dict[str, str]] = {'GET': {}}
191-
192-
@acl_decorators.can_access_voiceover_admin_page
193-
def get(self, voice_artist_id: str, language_code: str) -> None:
194-
exploration_id_to_filenames = (
195-
voiceover_services.get_voiceover_filenames(
196-
voice_artist_id=voice_artist_id, language_code=language_code
197-
)
198-
)
199-
200-
self.values.update(
201-
{
202-
'exploration_id_to_filenames': exploration_id_to_filenames,
203-
}
204-
)
205-
self.render_json(self.values)
206-
207-
208118
class EntityVoiceoversBulkHandler(
209119
base.BaseHandler[Dict[str, str], Dict[str, str]]
210120
):

core/controllers/voiceover_test.py

Lines changed: 0 additions & 156 deletions
Original file line numberDiff line numberDiff line change
@@ -126,162 +126,6 @@ def test_invalid_language_accent_codes_mapping_raise_error(self) -> None:
126126
self.logout()
127127

128128

129-
class VoiceArtistMetadataHandlerTests(test_utils.GenericTestBase):
130-
"""The class validates functionality related to voice artist metadata model."""
131-
132-
def setUp(self) -> None:
133-
super().setUp()
134-
self.signup(self.VOICEOVER_ADMIN_EMAIL, self.VOICEOVER_ADMIN_USERNAME)
135-
self.set_voiceover_admin([self.VOICEOVER_ADMIN_USERNAME])
136-
auth_id = 'someUser'
137-
self.voice_artist_username = 'username'
138-
user_settings = user_services.create_new_user(
139-
auth_id, 'user@example.com'
140-
)
141-
self.voice_artist_id = user_settings.user_id
142-
user_services.set_username(
143-
self.voice_artist_id, self.voice_artist_username
144-
)
145-
146-
self.voiceover1: state_domain.VoiceoverDict = {
147-
'filename': 'filename1.mp3',
148-
'file_size_bytes': 3000,
149-
'needs_update': False,
150-
'duration_secs': 6.1,
151-
}
152-
self.voiceover2: state_domain.VoiceoverDict = {
153-
'filename': 'filename2.mp3',
154-
'file_size_bytes': 3500,
155-
'needs_update': False,
156-
'duration_secs': 5.9,
157-
}
158-
self.voiceover3: state_domain.VoiceoverDict = {
159-
'filename': 'filename3.mp3',
160-
'file_size_bytes': 3500,
161-
'needs_update': False,
162-
'duration_secs': 5.0,
163-
}
164-
165-
self.language_code_to_accent: Dict[str, str] = {
166-
'en': 'en-US',
167-
'hi': 'hi-IN',
168-
}
169-
170-
self.content_id_to_voiceovers_mapping: (
171-
voiceover_domain.ContentIdToVoiceoverMappingType
172-
) = {
173-
'content_1': {'en': (self.voice_artist_id, self.voiceover1)},
174-
'content_2': {'hi': (self.voice_artist_id, self.voiceover2)},
175-
'content_3': {'ar': (self.voice_artist_id, self.voiceover1)},
176-
}
177-
178-
exploration_voice_artist_link_model = voiceover_services.create_exploration_voice_artists_link_model_instance(
179-
exploration_id='exploration_id',
180-
content_id_to_voiceovers_mapping=(
181-
self.content_id_to_voiceovers_mapping
182-
),
183-
)
184-
exploration_voice_artist_link_model.put()
185-
186-
voiceover_services.update_voice_artist_metadata(
187-
voice_artist_id=self.voice_artist_id,
188-
language_code_to_accent=(self.language_code_to_accent),
189-
)
190-
191-
def test_get_voice_artist_data_for_voiceover_admin_page(self) -> None:
192-
self.login(self.VOICEOVER_ADMIN_EMAIL, is_super_admin=True)
193-
194-
expected_voice_artist_id_to_language_mapping = {
195-
self.voice_artist_id: {'en': 'en-US', 'hi': 'hi-IN', 'ar': ''}
196-
}
197-
expected_voice_artist_id_to_voice_artist_name = {
198-
self.voice_artist_id: self.voice_artist_username
199-
}
200-
json_response = self.get_json(feconf.VOICE_ARTIST_METADATA_HANDLER)
201-
202-
self.assertDictEqual(
203-
json_response['voice_artist_id_to_language_mapping'],
204-
expected_voice_artist_id_to_language_mapping,
205-
)
206-
self.assertDictEqual(
207-
json_response['voice_artist_id_to_voice_artist_name'],
208-
expected_voice_artist_id_to_voice_artist_name,
209-
)
210-
self.logout()
211-
212-
def test_should_update_voice_artist_language_mapping(self) -> None:
213-
self.login(self.VOICEOVER_ADMIN_EMAIL, is_super_admin=True)
214-
csrf_token = self.get_new_csrf_token()
215-
216-
initial_voice_artist_id_to_language_mapping = {
217-
self.voice_artist_id: {'en': 'en-US', 'hi': 'hi-IN', 'ar': ''}
218-
}
219-
voice_artist_id_to_language_mapping = (
220-
voiceover_services.get_all_voice_artist_language_accent_mapping()
221-
)
222-
223-
self.assertDictEqual(
224-
voice_artist_id_to_language_mapping,
225-
initial_voice_artist_id_to_language_mapping,
226-
)
227-
228-
payload = {
229-
'voice_artist_id': self.voice_artist_id,
230-
'language_code': 'ar',
231-
'language_accent_code': 'ar-EG',
232-
}
233-
self.put_json(
234-
feconf.VOICE_ARTIST_METADATA_HANDLER, payload, csrf_token=csrf_token
235-
)
236-
237-
final_voice_artist_id_to_language_mapping = {
238-
self.voice_artist_id: {'en': 'en-US', 'hi': 'hi-IN', 'ar': 'ar-EG'}
239-
}
240-
voice_artist_id_to_language_mapping = (
241-
voiceover_services.get_all_voice_artist_language_accent_mapping()
242-
)
243-
244-
self.assertDictEqual(
245-
voice_artist_id_to_language_mapping,
246-
final_voice_artist_id_to_language_mapping,
247-
)
248-
self.logout()
249-
250-
def test_get_exp_id_to_filenames_for_given_voice_artist(self) -> None:
251-
self.login(self.VOICEOVER_ADMIN_EMAIL, is_super_admin=True)
252-
253-
handler_url = '%s/%s/%s' % (
254-
feconf.GET_SAMPLE_VOICEOVERS_FOR_VOICE_ARTIST,
255-
self.voice_artist_id,
256-
'en',
257-
)
258-
259-
expected_exp_id_to_filenames = {'exploration_id': ['filename1.mp3']}
260-
261-
json_response = self.get_json(handler_url)
262-
263-
self.assertDictEqual(
264-
json_response['exploration_id_to_filenames'],
265-
expected_exp_id_to_filenames,
266-
)
267-
268-
handler_url = '%s/%s/%s' % (
269-
feconf.GET_SAMPLE_VOICEOVERS_FOR_VOICE_ARTIST,
270-
self.voice_artist_id,
271-
'hi',
272-
)
273-
274-
expected_exp_id_to_filenames = {'exploration_id': ['filename2.mp3']}
275-
276-
json_response = self.get_json(handler_url)
277-
278-
self.assertDictEqual(
279-
json_response['exploration_id_to_filenames'],
280-
expected_exp_id_to_filenames,
281-
)
282-
self.logout()
283-
284-
285129
class EntityVoiceoversBulkHandlerTests(test_utils.GenericTestBase):
286130
"""Test class to validate entity voiceovers bulk handler."""
287131

core/domain/takeout_service_test.py

Lines changed: 0 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,6 @@
6262
suggestion_models,
6363
topic_models,
6464
user_models,
65-
voiceover_models,
6665
)
6766

6867
(
@@ -83,7 +82,6 @@
8382
suggestion_models,
8483
topic_models,
8584
user_models,
86-
voiceover_models,
8785
) = models.Registry.import_models(
8886
[
8987
models.Names.APP_FEEDBACK_REPORT,
@@ -103,7 +101,6 @@
103101
models.Names.SUGGESTION,
104102
models.Names.TOPIC,
105103
models.Names.USER,
106-
models.Names.VOICEOVER,
107104
]
108105
)
109106

@@ -490,7 +487,6 @@ def set_up_non_trivial(self) -> None:
490487
20) Creates new BlogPostModel and BlogPostRightsModel.
491488
21) Creates a TranslationContributionStatsModel.
492489
22) Creates new LearnerGroupModel and LearnerGroupsUserModel.
493-
23) Creates a VoiceArtistMetadataModel.
494490
"""
495491
# Setup for UserStatsModel.
496492
user_models.UserStatsModel(
@@ -1061,13 +1057,6 @@ def set_up_non_trivial(self) -> None:
10611057
id=self.USER_ID_1, parent_user_id=self.PROFILE_ID_1
10621058
).put()
10631059

1064-
language_code_to_accent: Dict[str, str] = {'en': 'en-US', 'hi': 'hi-IN'}
1065-
# Setup for VoiceArtistMetadataModel.
1066-
voiceover_models.VoiceArtistMetadataModel.create_model(
1067-
voice_artist_id=self.USER_ID_1,
1068-
language_code_to_accent=language_code_to_accent,
1069-
)
1070-
10711060
# Set-up for AppFeedbackReportModel scrubbed by user.
10721061
report_id = '%s.%s.%s' % (
10731062
self.PLATFORM_ANDROID,
@@ -1334,7 +1323,6 @@ def test_export_data_for_full_user_trivial_is_correct(self) -> None:
13341323
expected_blog_author_details: Dict[str, Dict[str, str]] = {}
13351324
expected_learner_group_model_data: Dict[str, str] = {}
13361325
expected_learner_grp_user_model_data: Dict[str, str] = {}
1337-
expected_voice_artist_data: Dict[str, str] = {}
13381326

13391327
# Here we use type Any because this dictionary contains other
13401328
# different types of dictionaries whose values can vary from int
@@ -1395,7 +1383,6 @@ def test_export_data_for_full_user_trivial_is_correct(self) -> None:
13951383
'platform_parameter_snapshot_metadata': expected_platform_parameter_sm,
13961384
'user_auth_details': expected_user_auth_details,
13971385
'user_email_preferences': expected_user_email_preferences,
1398-
'voice_artist_metadata': expected_voice_artist_data,
13991386
}
14001387

14011388
# Perform export and compare.
@@ -2251,10 +2238,6 @@ def test_export_data_for_full_user_nontrivial_is_correct(self) -> None:
22512238
expected_translation_coordinator_stats_data = {
22522239
'coordinated_language_ids': ['es', 'hi']
22532240
}
2254-
expected_language_code_to_accent: Dict[str, str] = {
2255-
'en': 'en-US',
2256-
'hi': 'hi-IN',
2257-
}
22582241
expected_user_data = {
22592242
'user_stats': expected_stats_data,
22602243
'user_group': expected_user_group_data,
@@ -2310,7 +2293,6 @@ def test_export_data_for_full_user_nontrivial_is_correct(self) -> None:
23102293
'blog_post': expected_blog_post_data,
23112294
'blog_post_rights': expected_blog_post_rights,
23122295
'blog_author_details': expected_blog_author_details,
2313-
'voice_artist_metadata': expected_language_code_to_accent,
23142296
}
23152297

23162298
with utils.open_file(

0 commit comments

Comments
 (0)