Esempio n. 1
0
def video(name, url, mode, thumb, video_type='', description='', duration='', year='', mpaa='', director='', genre='',
          rating=0.0, playcount=0, remove=False):
    entries = []
    filename = utility.clean_filename(url) + '.jpg'
    cover_file = xbmc.translatePath(utility.cover_cache_dir() + filename)
    fanart_file = xbmc.translatePath(utility.fanart_cache_dir() + filename)
    if xbmcvfs.exists(cover_file):
        thumb = cover_file
    u = sys.argv[0]
    u += '?url=' + urllib.quote_plus(url)
    u += '&mode=' + mode
    u += '&name=' + urllib.quote_plus(utility.encode(name))
    u += '&thumb=' + urllib.quote_plus(thumb)
    list_item = xbmcgui.ListItem(name)
    list_item.setArt({'icon': 'DefaultTVShows.png', 'thumb': thumb})
    list_item.setInfo(type='video',
                      infoLabels={'title': name, 'plot': description, 'duration': duration, 'year': int(year),
                                  'mpaa': mpaa, 'director': director, 'genre': genre, 'rating': rating,
                                  'playcount': playcount})
    if xbmcvfs.exists(fanart_file):
        list_item.setProperty('fanart_image', fanart_file)
    elif xbmcvfs.exists(cover_file):
        list_item.setProperty('fanart_image', cover_file)
    else:
        list_item.setProperty('fanart_image', utility.addon_fanart())
    if video_type == 'tvshow':
        if utility.get_setting('browse_tv_shows') == 'true':
            entries.append((utility.get_string(30151),
                            'Container.Update(plugin://%s/?mode=play_video_main&url=%s&thumb=%s)' % (
                                utility.addon_id, urllib.quote_plus(url), urllib.quote_plus(thumb))))
        else:
            entries.append((utility.get_string(30152),
                            'Container.Update(plugin://%s/?mode=list_seasons&url=%s&thumb=%s)' % (
                                utility.addon_id, urllib.quote_plus(url), urllib.quote_plus(thumb))))
    if video_type != 'episode':
        entries.append((utility.get_string(30153), 'RunPlugin(plugin://%s/?mode=play_trailer&url=%s&type=%s)' % (
            utility.addon_id, urllib.quote_plus(utility.encode(name)), video_type)))
        if remove:
            entries.append((utility.get_string(30154), 'RunPlugin(plugin://%s/?mode=remove_from_queue&url=%s)' % (
                utility.addon_id, urllib.quote_plus(url))))
        else:
            entries.append((utility.get_string(30155), 'RunPlugin(plugin://%s/?mode=add_to_queue&url=%s)' % (
                utility.addon_id, urllib.quote_plus(url))))
        entries.append((utility.get_string(30156),
                        'Container.Update(plugin://%s/?mode=list_videos&url=%s&type=movie)' % (
                            utility.addon_id, urllib.quote_plus(utility.main_url + '/WiMovie/' + url))))
        entries.append((utility.get_string(30157), 'Container.Update(plugin://%s/?mode=list_videos&url=%s&type=tv)' % (
            utility.addon_id, urllib.quote_plus(utility.main_url + '/WiMovie/' + url))))
    if video_type == 'tvshow':
        entries.append((utility.get_string(30150),
                        'RunPlugin(plugin://%s/?mode=add_series_to_library&url=&name=%s&series_id=%s)' % (
                            utility.addon_id, urllib.quote_plus(utility.encode(name.strip())), urllib.quote_plus(url))))
    elif video_type == 'movie':
        entries.append((utility.get_string(30150),
                        'RunPlugin(plugin://%s/?mode=add_movie_to_library&url=%s&name=%s)' % (
                            utility.addon_id, urllib.quote_plus(url),
                            urllib.quote_plus(utility.encode(name.strip())) + ' (' + unicode(year) + ')')))
    list_item.addContextMenuItems(entries)
    directory_item = xbmcplugin.addDirectoryItem(handle=plugin_handle, url=u, listitem=list_item, isFolder=True)
    return directory_item
Esempio n. 2
0
def main():

    ########################################### ENCODING ##########################################################

    mode = int(input("please choose mode:\n1.Encode then Decode the same files\n2.Encode only\n3.Decode only\n"))
    block_size = int(input("Block Size = (4 is recommended) "))

    if mode != 3:
        imagePath = input("image name: (e.g. test.png) ")
        # name of the encoded file that will be created
        encodedFile = input("output encoded file name: (e.g. encoded.npy) ")
        # name of the file to save the probability 1D numpy array in it
        probabiltyFile = input("output probability file name: (e.g. probability.npy) ")
        float_type = "float type: (float64 is recommended) "
    if mode == 2:
        utility.encode(block_size, imagePath, encodedFile,probabiltyFile, float_type)
        return
    ########################################### DECODING ##########################################################
    # rows = 183
    # columns = 275
    columns = int(input("number of columns (WIDTH) of the original image: (e.g. 256) "))
    rows = int(input("number of rows (HEIGHT) of the original image: (e.g. 256) "))
    resultImage = input("output image name: (e.g. result.png) ")
    # name of the encoded file to be decoded
    if mode == 3:
        encodedFile = input("encoded file name: ( e.g. encoded.npy) ")
        # name of the file having the probabilty 1D numpy array
        probabiltyFile = input("probability file name: ( e.g. probability.npy) ")
    elif mode == 1:
        utility.encode(block_size, imagePath, encodedFile, probabiltyFile, float_type)
    utility.decode(block_size, rows, columns, probabiltyFile, encodedFile, resultImage)
Esempio n. 3
0
def main():

    ############################### ENCODING ###############################
    mode = int(
        input(
            "please choose mode:\n1.Encode then Decode the same files\n2.Encode only\n3.Decode only\n"
        ))
    sliding_window_size = int(input("Sliding Window Size = (e.g. 13) "))
    look_ahead_size = int(input("Look Ahead Buffer Size = (e.g. 7) "))
    if mode != 3:
        imagePath = input("image name: (e.g. test.png) ")
        encodedFile = input("output encoded file name: (e.g. encoded.npy) ")

    if mode == 2:
        utility.encode(sliding_window_size, look_ahead_size, imagePath,
                       encodedFile)
        return
    ############################### DECODING ###############################

    columns = int(
        input("number of columns (WIDTH) of the original image: (e.g. 256) "))
    rows = int(
        input("number of rows (HEIGHT) of the original image: (e.g. 256) "))
    resultImage = input("output image name: (e.g. result.png) ")
    if mode == 3:
        encodedFile = input("encoded file name: ( e.g. encoded.npy) ")
    elif mode == 1:
        utility.encode(sliding_window_size, look_ahead_size, imagePath,
                       encodedFile)
    utility.decode(sliding_window_size, look_ahead_size, rows, columns,
                   resultImage, encodedFile)
Esempio n. 4
0
def tmdb(video_type, title, year=None):
    search = tmdbsimple.Search()
    if video_type.startswith('tv'):
        content = search.tv(query=utility.encode(title), first_air_date_year=year, language=language,
                            include_adult='true')
        if content['total_results'] == 0:
            content = search.tv(query=utility.encode(title), language=language, include_adult='true')
            if content['total_results'] == 0:
                if '(' in title:
                    title = title[:title.find('(')]
                    content = search.tv(query=utility.encode(title), first_air_date_year=year, language=language,
                                        include_adult='true')
                elif ':' in title:
                    title = title.replace(':', '+')
                    content = search.tv(query=utility.encode(title), first_air_date_year=year, language=language,
                                        include_adult='true')
    else:
        content = search.movie(query=utility.encode(title), year=year, language=language, include_adult='true')
        if content['total_results'] == 0:
            content = search.movie(query=utility.encode(title), language=language, include_adult='true')
            if content['total_results'] == 0:
                if '(' in title:
                    title = title[:title.find('(')]
                    content = search.movie(query=utility.encode(title), year=year, language=language,
                                           include_adult='true')
                elif ':' in title:
                    title = title.replace(':', '+')
                    content = search.movie(query=utility.encode(title), year=year, language=language,
                                           include_adult='true')
    if content['total_results'] == 0:
        content = search.movie(query=utility.encode(title), year=year, language=language, include_adult='true')
    return content
Esempio n. 5
0
def season(name, url, mode, thumb, series_name, series_id):
    entries = []
    cover_file, fanart_file = utility.cover_fanart(series_id)
    u = sys.argv[0]
    u += '?url=' + urllib.quote_plus(unicode(url))
    u += '&mode=' + mode
    u += '&series_id=' + urllib.quote_plus(series_id)
    list_item = xbmcgui.ListItem(name)
    list_item.setArt({'icon': 'DefaultTVShows.png', 'thumb': thumb})
    list_item.setInfo(type='video', infoLabels={'title': name})
    if xbmcvfs.exists(fanart_file):
        list_item.setProperty('fanart_image', fanart_file)
    elif xbmcvfs.exists(cover_file):
        list_item.setProperty('fanart_image', cover_file)
    else:
        list_item.setProperty('fanart_image', utility.addon_fanart())
    entries.append((utility.get_string(
        30150
    ), 'RunPlugin(plugin://%s/?mode=add_series_to_library&url=%s&name=%s&series_id=%s)'
                    % (utility.addon_id, urllib.quote_plus(unicode(url)),
                       urllib.quote_plus(utility.encode(
                           series_name.strip())), series_id)))
    list_item.addContextMenuItems(entries)
    directory_item = xbmcplugin.addDirectoryItem(handle=plugin_handle,
                                                 url=u,
                                                 listitem=list_item,
                                                 isFolder=True)
    return directory_item
Esempio n. 6
0
def series(series_id, series_title, season, single_update=True):
    filename = utility.clean_filename(series_title, ' .')
    series_file = xbmc.translatePath(utility.tv_dir() + filename)
    if not xbmcvfs.exists(series_file):
        xbmcvfs.mkdir(series_file)
    content = get.series_info(series_id)
    content = json.loads(content)['video']['seasons']
    for test in content:
        episode_season = unicode(test['seq'])
        if episode_season == season or season == '':
            season_dir = utility.create_pathname(series_file, test['title'])
            if not xbmcvfs.exists(season_dir):
                xbmcvfs.mkdir(season_dir)
            for item in test['episodes']:
                episode_id = unicode(item['episodeId'])
                episode_nr = unicode(item['seq'])
                episode_title = item['title']
                if len(episode_nr) == 1:
                    episode_nr = '0' + episode_nr
                season_nr = episode_season
                if len(season_nr) == 1:
                    season_nr = '0' + season_nr
                filename = 'S' + season_nr + 'E' + episode_nr + ' - ' + episode_title + '.strm'
                filename = utility.clean_filename(filename, ' .')
                file_handler = xbmcvfs.File(utility.create_pathname(season_dir, filename), 'w')
                file_handler.write(
                    utility.encode('plugin://%s/?mode=play_video&url=%s' % (utility.addon_id, episode_id)))
                file_handler.close()
    if utility.get_setting('update_db') and single_update:
        xbmc.executebuiltin('UpdateLibrary(video)')
Esempio n. 7
0
def series(series_id, series_title, season, single_update=True):
    filename = utility.clean_filename(series_title, ' .')
    series_file = xbmc.translatePath(utility.tv_dir() + filename)
    if not xbmcvfs.exists(series_file):
        xbmcvfs.mkdir(series_file)
    content = get.series_info(series_id)
    content = json.loads(content)['video']['seasons']
    for test in content:
        episode_season = unicode(test['seq'])
        if episode_season == season or season == '':
            season_dir = utility.create_pathname(series_file, test['title'])
            if not xbmcvfs.exists(season_dir):
                xbmcvfs.mkdir(season_dir)
            for item in test['episodes']:
                episode_id = unicode(item['episodeId'])
                episode_nr = unicode(item['seq'])
                episode_title = item['title']
                if len(episode_nr) == 1:
                    episode_nr = '0' + episode_nr
                season_nr = episode_season
                if len(season_nr) == 1:
                    season_nr = '0' + season_nr
                filename = 'S' + season_nr + 'E' + episode_nr + ' - ' + episode_title + '.strm'
                filename = utility.clean_filename(filename, ' .')
                file_handler = xbmcvfs.File(
                    utility.create_pathname(season_dir, filename), 'w')
                file_handler.write(
                    utility.encode('plugin://%s/?mode=play_video&url=%s' %
                                   (utility.addon_id, episode_id)))
                file_handler.close()
    if utility.get_setting('update_db') and single_update:
        xbmc.executebuiltin('UpdateLibrary(video)')
Esempio n. 8
0
def season(name, url, mode, thumb, series_name, series_id):
    entries = []
    filename = series_id + '.jpg'
    cover_file = xbmc.translatePath(utility.cover_cache_dir() + filename)
    fanart_file = xbmc.translatePath(utility.fanart_cache_dir() + filename)
    u = sys.argv[0]
    u += '?url=' + urllib.quote_plus(unicode(url))
    u += '&mode=' + mode
    u += '&series_id=' + urllib.quote_plus(series_id)
    list_item = xbmcgui.ListItem(name)
    list_item.setArt({'icon': 'DefaultTVShows.png', 'thumb': thumb})
    list_item.setInfo(type='video', infoLabels={'title': name})
    if xbmcvfs.exists(fanart_file):
        list_item.setProperty('fanart_image', fanart_file)
    elif xbmcvfs.exists(cover_file):
        list_item.setProperty('fanart_image', cover_file)
    else:
        list_item.setProperty('fanart_image', utility.addon_fanart())
    entries.append((utility.get_string(30150),
                    'RunPlugin(plugin://%s/?mode=add_series_to_library&url=%s&name=%s&series_id=%s)' % (
                        utility.addon_id, urllib.quote_plus(unicode(url)),
                        urllib.quote_plus(utility.encode(series_name.strip())),
                        series_id)))
    list_item.addContextMenuItems(entries)
    directory_item = xbmcplugin.addDirectoryItem(handle=plugin_handle, url=u, listitem=list_item, isFolder=True)
    return directory_item
Esempio n. 9
0
def tmdb(video_type, title, year=None):
    search = tmdbsimple.Search()
    if video_type.startswith('tv'):
        content = search.tv(query=utility.encode(title),
                            first_air_date_year=year,
                            language=language,
                            include_adult='true')
        if content['total_results'] == 0:
            content = search.tv(query=utility.encode(title),
                                language=language,
                                include_adult='true')
            if content['total_results'] == 0:
                if '(' in title:
                    title = title[:title.find('(')]
                    content = search.tv(query=utility.encode(title),
                                        first_air_date_year=year,
                                        language=language,
                                        include_adult='true')
                elif ':' in title:
                    title = title.replace(':', '+')
                    content = search.tv(query=utility.encode(title),
                                        first_air_date_year=year,
                                        language=language,
                                        include_adult='true')
    else:
        content = search.movie(query=utility.encode(title),
                               year=year,
                               language=language,
                               include_adult='true')
        if content['total_results'] == 0:
            content = search.movie(query=utility.encode(title),
                                   language=language,
                                   include_adult='true')
            if content['total_results'] == 0:
                if '(' in title:
                    title = title[:title.find('(')]
                    content = search.movie(query=utility.encode(title),
                                           year=year,
                                           language=language,
                                           include_adult='true')
                elif ':' in title:
                    title = title.replace(':', '+')
                    content = search.movie(query=utility.encode(title),
                                           year=year,
                                           language=language,
                                           include_adult='true')
    if content['total_results'] == 0:
        content = search.movie(query=utility.encode(title),
                               year=year,
                               language=language,
                               include_adult='true')
    return content
Esempio n. 10
0
def movie(movie_id, title, single_update=True):
    filename = utility.clean_filename(title + '.strm', ' .').strip(' .')
    movie_file = xbmc.translatePath(utility.movie_dir() + filename)
    file_handler = xbmcvfs.File(movie_file, 'w')
    file_handler.write(utility.encode('plugin://%s/?mode=play_video&url=%s' % (utility.addon_id, movie_id)))
    file_handler.close()
    if utility.get_setting('update_db') and single_update:
        xbmc.executebuiltin('UpdateLibrary(video)')
Esempio n. 11
0
def movie(movie_id, title, single_update=True):
    filename = utility.clean_filename(title + '.strm', ' .').strip(' .')
    movie_file = xbmc.translatePath(utility.movie_dir() + filename)
    file_handler = xbmcvfs.File(movie_file, 'w')
    file_handler.write(
        utility.encode('plugin://%s/?mode=play_video&url=%s' %
                       (utility.addon_id, movie_id)))
    file_handler.close()
    if utility.get_setting('update_db') and single_update:
        xbmc.executebuiltin('UpdateLibrary(video)')
Esempio n. 12
0
def main():

    ########################################### ENCODING ##########################################################
    block_size = 4
    imagePath = "test2.png"
    # name of the encoded file that will be created
    encodedFile = "encoded.npy"
    # name of the file to save the probabilty 1D numpy array in it
    probabiltyFile = "probability.npy"
    float_type = 'float64' #you can choose numpy float types as float64(default and recommended), float32, float16
    utility.encode(block_size, imagePath, encodedFile,probabiltyFile, float_type)

    ########################################### DECODING ##########################################################
    columns = 256 #Width
    rows = 256 #Hieght
    resultImage = "result2.png"
    # name of the encoded file to be decoded
    encodedFile = "encoded.npy"
    # name of the file having the probabilty 1D numpy array
    probabiltyFile = "probability.npy"
    utility.decode(block_size, rows, columns, probabiltyFile, encodedFile, resultImage)
Esempio n. 13
0
def main():

    ############################### ENCODING ###############################

    sliding_window_size = 12
    look_ahead_size = 7
    imagePath = "test2.png"
    encodedFile = "encoded.npy"

    utility.encode(sliding_window_size, look_ahead_size, imagePath,
                   encodedFile)

    ############################### DECODING ###############################

    sliding_window_size = 12
    look_ahead_size = 7
    rows = 256  #height
    columns = 256  #width
    resultImage = "result2.png"
    encodedFile = "encoded.npy"

    utility.decode(sliding_window_size, look_ahead_size, rows, columns,
                   resultImage, encodedFile)
Esempio n. 14
0
from sklearn.naive_bayes import GaussianNB
from sklearn.neighbors import KNeighborsClassifier
from sklearn.svm import SVC

from committee import CommitteeClassifier
from decisionTree import DecisionTree
from utility import calculate_metrics
from utility import encode

# load data
df = pd.read_csv("mushrooms.csv")

# split columns
X = df.drop("class", axis=1)
y = df["class"].values
encoded_X = encode(X)

# initialize classifiers
clf1 = DecisionTree()
clf2 = KNeighborsClassifier(n_neighbors=7)
clf3 = SVC(kernel='rbf', probability=True)
clf4 = GaussianNB()

accuracy = []
precision = []
recall = []
f_score = []

test_cases = [[clf1], [clf2], [clf3], [clf4], [clf1, clf2, clf3, clf4],
              [clf2, clf3, clf4]]
Esempio n. 15
0
 def db_set(self, key: str, value: str):
     self.database[utility.encode(key)] = utility.encode(value)
Esempio n. 16
0
def mqtt_subscribe():
    print("subscribe:", SubscribeDict)
    for topic in SubscribeDict.keys():
        topic = utility.encode(topic)
        Client.subscribe(topic)
Esempio n. 17
0
def mqtt_publish():
    print("publish:", PublishDict)
    for key, value in PublishDict.items():
        Client.publish(utility.encode(key), utility.encode(value))
Esempio n. 18
0
def video(name,
          url,
          mode,
          thumb,
          video_type='',
          description='',
          duration='',
          year='',
          mpaa='',
          director='',
          genre='',
          rating=0.0,
          playcount=0,
          remove=False):
    entries = []
    cover_file, fanart_file = utility.cover_fanart(url)
    if xbmcvfs.exists(cover_file):
        thumb = cover_file
    u = sys.argv[0]
    u += '?url=' + urllib.quote_plus(url)
    u += '&mode=' + mode
    u += '&name=' + urllib.quote_plus(utility.encode(name))
    u += '&thumb=' + urllib.quote_plus(thumb)
    list_item = xbmcgui.ListItem(name)
    list_item.setArt({'icon': 'DefaultTVShows.png', 'thumb': thumb})
    list_item.setInfo(type='video',
                      infoLabels={
                          'title': name,
                          'plot': description,
                          'duration': duration,
                          'year': int(year),
                          'mpaa': mpaa,
                          'director': director,
                          'genre': genre,
                          'rating': rating,
                          'playcount': playcount
                      })
    if xbmcvfs.exists(fanart_file):
        list_item.setProperty('fanart_image', fanart_file)
    elif xbmcvfs.exists(cover_file):
        list_item.setProperty('fanart_image', cover_file)
    else:
        list_item.setProperty('fanart_image', utility.addon_fanart())
    if video_type == 'tvshow':
        if utility.get_setting('browse_tv_shows') == 'true':
            entries.append((utility.get_string(
                30151
            ), 'Container.Update(plugin://%s/?mode=play_video_main&url=%s&thumb=%s)'
                            % (utility.addon_id, urllib.quote_plus(url),
                               urllib.quote_plus(thumb))))
        else:
            entries.append((utility.get_string(
                30152
            ), 'Container.Update(plugin://%s/?mode=list_seasons&url=%s&thumb=%s)'
                            % (utility.addon_id, urllib.quote_plus(url),
                               urllib.quote_plus(thumb))))
    if video_type != 'episode':
        entries.append(
            (utility.get_string(30153),
             'RunPlugin(plugin://%s/?mode=play_trailer&url=%s&type=%s)' %
             (utility.addon_id, urllib.quote_plus(
                 utility.encode(name)), video_type)))
        if remove:
            entries.append(
                (utility.get_string(30154),
                 'RunPlugin(plugin://%s/?mode=remove_from_queue&url=%s)' %
                 (utility.addon_id, urllib.quote_plus(url))))
        else:
            entries.append(
                (utility.get_string(30155),
                 'RunPlugin(plugin://%s/?mode=add_to_queue&url=%s)' %
                 (utility.addon_id, urllib.quote_plus(url))))
        entries.append((
            utility.get_string(30156),
            'Container.Update(plugin://%s/?mode=list_videos&url=%s&type=movie)'
            % (utility.addon_id,
               urllib.quote_plus(utility.main_url + 'WiMovie/' + url))))
        entries.append(
            (utility.get_string(30157),
             'Container.Update(plugin://%s/?mode=list_videos&url=%s&type=tv)' %
             (utility.addon_id,
              urllib.quote_plus(utility.main_url + 'WiMovie/' + url))))
    if video_type == 'tvshow':
        entries.append((
            utility.get_string(30150),
            'RunPlugin(plugin://%s/?mode=add_series_to_library&url=&name=%s&series_id=%s)'
            % (utility.addon_id, urllib.quote_plus(utility.encode(
                name.strip())), urllib.quote_plus(url))))
    elif video_type == 'movie':
        entries.append(
            (utility.get_string(30150),
             'RunPlugin(plugin://%s/?mode=add_movie_to_library&url=%s&name=%s)'
             % (utility.addon_id, urllib.quote_plus(url),
                urllib.quote_plus(utility.encode(name.strip())) + ' (' +
                unicode(year) + ')')))
    list_item.addContextMenuItems(entries)
    directory_item = xbmcplugin.addDirectoryItem(handle=plugin_handle,
                                                 url=u,
                                                 listitem=list_item,
                                                 isFolder=True)
    return directory_item
Esempio n. 19
0
channel = BEC(alpha=0.7)
n = int((math.pow(2, 11) * 0.1))
x = np.random.binomial(1, 0.5, n)

I = channel.polarize(int(math.pow(2, 11)), 0.9999888)
l = range(int(math.pow(2, 11)))
Ineg = [-I[i] for i in range(len(I))]
polarized = [True for i in range(len(I))]
I1, l1 = zip(*sorted(zip(Ineg, l)))
inp = [0 for i in range(int(math.pow(2, 11)))]

for i in range(len(x)):
    inp[l1[i]] = x[i]
    polarized[i] = False

inp = np.random.binomial(1, 0.5, int(math.pow(2, 11)))

encoded = utility.encode(inp)

y = channel.passInput(encoded)

decoded = utility.decode(y)

c = 0
for i in range(len(inp)):
    if (not polarized[i]):
        if (decoded[i] == inp[i]):
            c += 1

print n, c
Esempio n. 20
0
    elif action == 3:
        correct = 1
    elif action == 4:
        decode = 1
    elif action == 5:
        errors = 1

    if sum_mult:
        utility.sum_mult()

    if encode:
        #Encode

        fichero_entrada = input("Introduce el nombre del fichero a cofificar:\n")

        encoded = utility.encode("\\" + fichero_entrada, transformation_matrix, irreducible_polynomial)

        if GENERATE_BINARY_FILES:
            file = open(sys.path[0] + "\\" + FICHERO_CODIFICADO_BINARIO, 'wb+')
            file.write(bytes.fromhex(encoded.hex))

        file = open(sys.path[0] + "\\" + FICHERO_CODIFICADO_ASCII, 'w+')
        file.write(encoded.bin)

        file.flush()
        os.fsync(file.fileno())
        file.close()

    if correct:
        # If the data is read from an text file containing "1" and "0",
        # it is transformed to a bit sequence, which is subsequently saved