|
|
|
class ImdbParser: |
|
""" |
|
- A class to manipulate incoming json string data of a movie/TV from IMDB. |
|
- Changes are required as sometimes the json contains invalid chars in description/reviewBody/trailer schema |
|
""" |
|
def __init__(self, json_string): |
|
self.json_string = json_string |
|
|
|
@property |
|
def remove_trailer(self): |
|
""" |
|
@description:- Helps to remove 'trailer' schema from IMDB data json string. |
|
@returns:- New updated JSON string. |
|
""" |
|
try: |
|
self.json_string = ''.join(self.json_string.splitlines()) |
|
trailer_i = self.json_string.index('"trailer"') |
|
actor_i = self.json_string.index('"actor"') |
|
to_remove = self.json_string[trailer_i:actor_i:1] |
|
self.json_string = self.json_string.replace(to_remove, "") |
|
except ValueError: |
|
self.json_string = self.json_string |
|
return self.json_string |
|
|
|
@property |
|
def remove_description(self): |
|
""" |
|
@description:- Helps to remove 'description' schema from IMDB file json string. |
|
@returns:- New updated JSON string. |
|
""" |
|
try: |
|
review_i = self.json_string.index('"review"') |
|
des_i = self.json_string.index('"description"', 0, review_i) |
|
to_remove = self.json_string[des_i:review_i:1] |
|
self.json_string = self.json_string.replace(to_remove, "") |
|
except ValueError: |
|
self.json_string = self.json_string |
|
return self.json_string |
|
|
|
@property |
|
def remove_review_body(self): |
|
""" |
|
@description:- Helps to remove 'reviewBody' schema from IMDB file json string. |
|
@returns:- New updated JSON string. |
|
""" |
|
try: |
|
reviewrating_i = self.json_string.index('"reviewRating"') |
|
reviewbody_i = self.json_string.index('"reviewBody"', 0, reviewrating_i) |
|
to_remove = self.json_string[reviewbody_i:reviewrating_i:1] |
|
self.json_string = self.json_string.replace(to_remove, "") |
|
except ValueError: |
|
self.json_string = self.json_string |
|
return self.json_string |
|
|