示例#1
0
def _create_media_from_row(row):
    if len(row) < 9:
        media = Media(row[0], row[1], row[2], row[3], row[4], row[5], row[6],
                      row[7], 'Null')
    else:
        media = Media(row[0], row[1], row[2], row[3], row[4], row[5], row[6],
                      row[7], row[8])
    return media
示例#2
0
 def build(self):
     fileext = self.__getExtension()
     mediaName = self.__getMediaNameFromMetaInfo()
     mediaType = self.__getMimeTypeFromMetaInfo()
     mediaDate = self.__getDateFromMetaInfo()
     return Media('METADATA', self.sourceFile, fileext, mediaName,
                  mediaType, mediaDate)
示例#3
0
 def recently_liked(self):
     """
     Returns the recently liked media by the user.
     """
     medialist = get(self.token,
                     '/users/self/media/liked')
     for data in medialist:
         yield Media(data)
 def build(self):
     path, filename = split(self.sourceFile)
     fileext = self.__extractExtension(filename)
     mediaName = self.__parseFilename(filename)
     mediaType = MediaUtils.getMediaType(fileext)
     mediaDate = self.__makeUpCreationDateFromFileName(mediaName)
     return Media('FILENAME', self.sourceFile, fileext, mediaName,
                  mediaType, mediaDate)
示例#5
0
 def get_recent_media(self):
     """
     Yields a list of recent media objects for this user.
     """
     medialist = get(self.token,
                     '/users/{}/media/recent'.format(self.id))
     for data in medialist:
         media = Media(data)
         yield media
示例#6
0
 def _parseVideo(self,params):
     videoId = params.get('id',None)
     if videoId is not None and videoId.isdigit():
         self.id = str(videoId)
     elif videoId is not None:
         self.id = re.search("\d+",videoId).group(0)
     else:
         self.id = None
     self.title = params.get('title',None)
     self.description = params.get('description',None)
     self.thumbnail = params.get('plmedia$defaultThumbnailUrl',None)
     self.episodeNumber = params.get('pl1$episodeNumber',None)
     self.availableDate = params.get('media$availableDate',None)
     self.expirationDate = params.get('media$expirationDate',None)
     self.programName = params.get('pl1$programName',None)
     keywords = params.get('media$keywords',None)
     if keywords is not None:
         self.keywords = keywords.split(",")
     else:
         self.keywords = None
     self.pubDate = params.get('pubDate',None)
     self.categories = []
     for category in params.get('media$categories',[]):
         self.categories.append(Category(category))
     self.duration = None
     self._media = {}
     self._media['content'] = []
     self._media['thumbnails'] = []
     self._mediaHasUrl = True
     mediaContent = params.get('media$content',[])
     for media in mediaContent:
         mediaObj = Media(media)
         self._media['content'].append(mediaObj)
         if mediaObj.url is None:
             self._mediaHasUrl = False
         if self.duration is None and mediaObj.duration is not None:
             self.duration = mediaObj.duration
     mediaThumbnails = params.get('media$thumbnails',[])
     for media in mediaThumbnails:
         mediaObj = Media(media)
         self._media['thumbnails'].append(mediaObj)
         if mediaObj.url is None:
             self._mediaHasUrl = False
示例#7
0
def assign_image():
    assignSource = request.vars.page_id
    elementId = int(
        request.vars.element_id) if request.vars.element_id else None
    if not request.vars.image_id == "blank":
        imageId = int(request.vars.image_id) if request.vars.image_id else None
    else:
        imageId = "blank"

    if not assignSource and elementId:
        redirect(URL('editor', 'update', vars=dict(page_id="image")))

    from Media import Media
    media = Media(db)

    if imageId:
        pageRedirect = media.assign_image(imageId, assignSource, elementId)
        if pageRedirect:
            redirect(
                URL('editor',
                    'update',
                    vars=dict(page_id=pageRedirect, element_id=elementId)))
        else:
            redirect(
                URL('editor',
                    'assign_image',
                    vars=dict(page_id=assignSource, element_id=elementId)))

    images = media.get_images()
    form = SQLFORM(
        db.image_library,
        submit_button='Upload',
        fields=['image_name', 'image_desc', 'keywords', 'image_file'],
        formstyle="bootstrap")
    for input in form.elements('input'):
        input['_style'] = 'width:100%'
    form.element('textarea[name=image_desc]')['_style'] = 'width:100%'

    if form.process(formname='form').accepted:
        media.process_key_words(form.vars.id)
        pageRedirect = media.assign_image(form.vars.id, assignSource,
                                          elementId)
        if pageRedirect:
            redirect(
                URL('editor',
                    'update',
                    vars=dict(page_id=pageRedirect, element_id=elementId)))
        else:
            redirect(
                URL('editor',
                    'assign_image',
                    vars=dict(page_id=assignSource, element_id=elementId)))

    return dict(thisPage=THISPAGE, form=form, images=images)
def prepare_and_download(post_url, dir=None):
    """
        Receives a post_url, verifies it and downloads it.
    """
    if is_accepted_media_url(post_url):
        media = Media(post_url)
        if dir is not None:
            media.set_download_dir(dir)
        print("Downloading: " + media.media_id)
        media.download()
        print("Downloaded: " + media.media_id)
    else:
        print("This link is not valid: " + post_url)
示例#9
0
    def recently_liked(self, count=None):
        """
        Yields a list of recently liked media objects by the user.
        Works only if the token is for same user.

        :param count: Count of media to return
        """
        medialist = get(self.token,
                        '/users/self/media/liked',
                        count=10)
        for data in medialist:
            media = Media(data)
            yield media
示例#10
0
 def get_recent_media_for_user(self, user_id=None):
     """
     Yields a list of recent media for given user
     :param user_id: User id for which recent media is to be fetched
                     If not provided the user for access token is used
     """
     if user_id:
         medialist = get(self.token,
                         '/users/{}/media/recent'.format(user_id))
     else:
         medialist = get(self.token,
                         '/users/self/media/recent')
     for data in medialist:
         media = Media(data)
         yield media
示例#11
0
    def youtube_download(self):
        # Get video
        url = self.gui.getUrl()
        media = Media(url)
        title = html.unescape(media.title)
        self.gui.video_title_text.set(title)

        # Check if downloaded
        if not self.log_contains(title):
            self.gui.status_label_text.set("Downloading song...")
            path = self.get_download_path() + '/%(title)s.%(ext)s'
            media.download(path)
            self.log_add(title)
            self.gui.status_label_text.set("Added to log")

        else:
            self.gui.status_label_text.set("Song already downloaded!")
示例#12
0
 def __init__(self):
     pygame.init()  # pygame初期化
     pygame.display.set_mode((1200, 675), 0, 32)  # 画面設定
     self.screen = pygame.display.get_surface()
     pygame.display.set_caption('catch a star game')  # ウィンドウタイトル
     # 各ゲームモードのインスタンスの生成
     self.media = Media()
     self.menu = Menu(self.media)
     self.play = Play(self.media)
     self.setting = Setting(self.media)
     self.bye = Bye(self.media)
     self.ranking = Ranking(self.media)
     self.media.play_bgm(1)
     # 各モードへ分岐するための辞書型
     self.game_mode_list = {
         Mode.MENU: self.menu,
         Mode.PLAY: self.play,
         Mode.SETTING: self.setting,
         Mode.RANKING: self.ranking,
         Mode.BYE: self.bye
     }
    def load_commands_from_db(self):
        # upload commands
        cursor = self.data_base.exec_query("SELECT * FROM Command")
        while cursor.rownumber < cursor.rowcount:
            command_response = cursor.fetchone()
            query = "SELECT name FROM Labels WHERE label_id=%s"
            attached_character_class = \
                self.data_base.exec_template_query(query, [command_response['attached_character_class']]).fetchone()[
                    'name']
            relation_class = ''
            if command_response['relation_class'] is not None:
                relation_class = \
                    self.data_base.exec_template_query(query, [command_response['relation_class']]).fetchone()[
                        'name']

            media_response = self.data_base.exec_query(
                f"SELECT * FROM Media WHERE media_id={command_response['media_id']}").fetchone()
            media = Media(media_response['file_name'], media_response['type'], media_response['duration'])

            trigger_cmd_name = ''
            trigger_cmd_id = command_response['trigger_event_id']
            if trigger_cmd_id is not None:
                trigger_cmd_name = \
                    self.data_base.exec_query(f"SELECT name FROM Command WHERE command_id={trigger_cmd_id}").fetchone()[
                        'name']

            delay = command_response['delay']

            emotion = ''
            emotion_id = command_response['expected_emotion_id']
            if emotion_id is not None:
                emotion = \
                self.data_base.exec_query(f"SELECT name FROM Emotion WHERE emotion_id={emotion_id}").fetchone()['name']

            command = Command(command_response['name'], command_response['centered'],
                              command_response['trigger_event_id'],
                              attached_character_class, relation_class,
                              CommandType(command_response['command_type_id']),
                              trigger_cmd_name, media, command_response['duration'], delay, emotion)
            self.commands.append(command)
示例#14
0
from SidebarCustomize import SidebarCustomize
from SidebarAddItems import SidebarAddItems
from SidebarAddWidgets import SidebarAddWidgets
from Iframe import Iframe
from Media import Media

l = LayoutHorizontal()
i = Iframe()
i.css(
    {
        "width": "100%",
        "height": "calc( 100vh - 5px )",
        "background-color": "gray"
    }, None, ">iframe")

media = Media()

sidebar = SidebarCustomize()
sidebar.Media = media
sidebar2 = SidebarAddItems()
sidebar3 = SidebarAddWidgets()

l.add(sidebar)
l.add(sidebar2)
l.add(sidebar3)
l.add(i)

media.run(s("footer"))
"""
sidebar.run(s("#menu"))
sidebar2.run(s("#submenu"))
from Media import Media
import FreshTomato

batmanVsSuperman = Media(
    "BATMAN VS SUPERMAN", "BATMAN Fights with SUPERMAN",
    "http://i1.wp.com/bitcast-a-sm.bitgravity.com/slashfilm/wp/wp-content/images/batman-vs-superman-ew-pics-3-HR.jpg",
    "https://youtu.be/rYi5OPAoceA")

oggy = Media(
    "Oggy and the cockroaches", "Cats fights with cockroaches",
    "http://3.bp.blogspot.com/-hbvMX2E-Eao/Uhmv_XIIh0I/AAAAAAAABho/FhcASFcTF_Y/s400/Oggy+and+the+Cockroaches,+film+team.jpg",
    "https://www.youtube.com/watch?v=POvSDfEyxok")
#oggy.showTrailer()
movies = [oggy, batmanVsSuperman]
FreshTomato.open_movies_page(movies)
示例#16
0
def update():
    pageSetting = request.vars.page_id or "advanced"
    elementId = int(
        request.vars.element_id) if request.vars.element_id else None
    pageIdError = False
    form = False
    bgForm = False
    images = False
    cards = False
    events = False
    THISPAGE['pageSetting'] = pageSetting
    angularData = False

    from Media import Media
    media = Media(db)

    # ******************BASIC PAGE********************
    if pageSetting == "advanced":
        query = db.basic_site.id > 0
        result = db(query).select().first()
        if result:
            if result.background_img:
                images = media.get_images(result.background_img)
            query = db.basic_site(db.basic_site.id == result.id)
            form = SQLFORM(db.basic_site,
                           query,
                           submit_button='Update',
                           showid=False,
                           fields=[
                               'page_title', 'page_header', 'page_footer',
                               'page_subheader', 'page_tagline', 'page_desc'
                           ],
                           formstyle="bootstrap")
            for input in form.elements('input'):
                input['_style'] = 'width:100%'
            form.element('textarea[name=page_desc]')['_style'] = 'width:100%'
            bgForm = SQLFORM(
                db.basic_site,
                query,
                showid=False,
                submit_button='save background settings',
                fields=['background_color', 'background_img_style'],
                formstyle="bootstrap")
            for input in bgForm.elements('input'):
                input['_style'] = 'width:100%'

            if bgForm.process(formname='bgForm').accepted:
                # redirect(URL('profile', 'broken', vars=dict(account_key=accountKey)))
                redirect(URL('editor', 'update'))

        else:
            form = SQLFORM(db.basic_site,
                           submit_button='Create',
                           fields=[
                               'page_title', 'page_header', 'page_footer',
                               'page_subheader', 'page_tagline', 'page_desc'
                           ],
                           formstyle="bootstrap")
            for input in form.elements('input'):
                input['_style'] = 'width:100%'
            form.element('textarea[name=page_desc]')['_style'] = 'width:100%'

        if form.process(formname='form').accepted:
            redirect(URL('editor', 'update'))

    elif pageSetting == "layout":
        form = False

# ******************CONTENT PAGE********************
    elif pageSetting == "content":
        if not elementId:
            cards = cardDAL.get_content_cards()
            form = SQLFORM(db.content_card,
                           submit_button='Create',
                           fields=['card_name', 'card_heading', 'body_text'],
                           formstyle="bootstrap")
            for input in form.elements('input'):
                input['_style'] = 'width:100%'
            form.element('textarea[name=body_text]')['_style'] = 'width:100%'

            if form.process(formname='form').accepted:
                redirect(URL('editor', 'update', vars=dict(page_id="content")))

        else:
            cards = cardDAL.get_content_cards(elementId)
            if not cards:
                redirect(URL('editor', 'update', vars=dict(page_id="content")))
            query = db.content_card(db.content_card.id == elementId)
            form = SQLFORM(db.content_card,
                           query,
                           submit_button='Update',
                           deletable=True,
                           showid=False,
                           fields=['card_name', 'card_heading', 'body_text'],
                           formstyle="bootstrap")
            for input in form.elements('input'):
                input['_style'] = 'width:100%'
            form.element('textarea[name=body_text]')['_style'] = 'width:100%'

            if form.process(formname='form').accepted:
                redirect(
                    URL('editor',
                        'update',
                        vars=dict(page_id="content", element_id=elementId)))

# ******************EVENT PAGE********************
    elif pageSetting == "event":
        if not elementId:
            events = eventDAL.get_events()
            form = SQLFORM(db.events,
                           submit_button='Create',
                           fields=[
                               'event_name', 'event_heading', 'body_text',
                               'expiration'
                           ],
                           formstyle="bootstrap")
            for input in form.elements('input'):
                input['_style'] = 'width:100%'
            form.element('textarea[name=body_text]')['_style'] = 'width:100%'

            if form.process(formname='form').accepted:
                redirect(URL('editor', 'update', vars=dict(page_id="event")))

        else:
            angularData = {
                "events": eventDAL.get_events(elementId),
                "thisPageID": "event"
            }
            # images=media.g
            events = eventDAL.get_events(elementId)
            if not events:
                redirect(URL('editor', 'update', vars=dict(page_id="event")))
            query = db.events(db.events.id == elementId)
            form = SQLFORM(db.events,
                           query,
                           submit_button='Update',
                           deletable=True,
                           showid=False,
                           fields=[
                               'event_name', 'event_heading', 'body_text',
                               'expiration'
                           ],
                           formstyle="bootstrap")
            for input in form.elements('input'):
                input['_style'] = 'width:100%'
            form.element('textarea[name=body_text]')['_style'] = 'width:100%'

            if form.process(formname='form').accepted:
                redirect(
                    URL('editor',
                        'update',
                        vars=dict(page_id="event", element_id=elementId)))


# ******************IMAGE PAGE********************
    elif pageSetting == "image":
        if not elementId:
            angularData = {"images": media.get_images(), "thisPageID": "image"}
            # images=media.get_images()
            form = SQLFORM(
                db.image_library,
                submit_button='Upload',
                fields=['image_name', 'image_desc', 'keywords', 'image_file'],
                formstyle="bootstrap")
            for input in form.elements('input'):
                input['_style'] = 'width:100%'
            form.element('textarea[name=image_desc]')['_style'] = 'width:100%'

            if form.process(formname='form').accepted:
                media.process_key_words(form.vars.id)
                redirect(URL('editor', 'update', vars=dict(page_id="image")))

        else:
            images = media.get_images(elementId)
            if not images:
                redirect(URL('editor', 'update', vars=dict(page_id="image")))
            query = db.image_library(db.image_library.id == elementId)
            form = SQLFORM(db.image_library,
                           query,
                           submit_button='Update',
                           deletable=True,
                           showid=False,
                           fields=['image_name', 'image_desc', 'keywords'],
                           formstyle="bootstrap")
            for input in form.elements('input'):
                input['_style'] = 'width:100%'
            form.element('textarea[name=image_desc]')['_style'] = 'width:100%'

            if form.process(formname='form').accepted:
                media.process_key_words(form.vars.id)
                redirect(
                    URL('editor',
                        'update',
                        vars=dict(page_id="image", element_id=elementId)))

    else:
        pageIdError = "You are poking around where you dont belong, try something else, or close your browser and login in again"

    return dict(thisPage=THISPAGE,
                form=form,
                bgForm=bgForm,
                images=images,
                cards=cards,
                events=events,
                pageIdError=pageIdError,
                angularData=angularData)
示例#17
0
def build_media_objects(dates, tweets_timestamped):
    media_objects = []
    for i in range(0, len(dates)):
        media_objects.append(Media('Twitter', dates[i], tweets_timestamped[i]))
    return media_objects
示例#18
0
    def __init__(self):
        Window.__init__(self)

        # Initialization of the C++ DirectShow Library
        self.audioFunctions = AudioFunctions()
        self.audioFunctions.InitDirectShow()

        # Media Information
        self.media = Media()

        # The main window
        self.create(100, 100, 700, 300, caption=True, resize=False)

        # Button for 'OpenFile'
        self._openFileButton = TextButton(self)
        self._openFileButton.rect = (0, 0, 50, 30)
        self._openFileButton.text = 'OpenFile'
        self._openFileButton.background = r'Images\Root_button.png'
        self.autoRemove(self._openFileButton.bind('Click', self._onOpenFile))

        # Button for 'Play' and 'Pause'
        self._triggerButton = TextButton(self)
        self._triggerButton.rect = (60, 0, 50, 30)
        self._triggerButton.text = 'Play'
        self._triggerButton.background = r'Images\Root_button.png'
        self.autoRemove(self._triggerButton.bind('Click', self._onTrigger))

        # Button for 'Stop'
        self._stopButton = TextButton(self)
        self._stopButton.rect = (120, 0, 50, 30)
        self._stopButton.text = 'Stop'
        self._stopButton.background = r'Images\Root_button.png'
        self.autoRemove(self._stopButton.bind('Click', self._onStop))

        # Button for 'Remove'
        self._stopButton = TextButton(self)
        self._stopButton.rect = (450, 0, 50, 30)
        self._stopButton.text = 'Remove'
        self._stopButton.background = r'Images\Root_button.png'
        self.autoRemove(self._stopButton.bind('Click', self._onRemove))

        # PlayTime
        self._playTimeText = Text(self)
        self._playTimeText.autosize = True
        self._playTimeText.text = 'PlayTime'
        self._playTimeText.fontSize = 15
        self._playTimeText.xy = (30, 155)

        # Slider for 'playTime'
        self._playTimeSlider = Slider(self)
        self._playTimeSlider.bgColor = color.gray
        self._playTimeSlider.vertical = False
        self._playTimeSlider.rect = (100, 160, 255, 10)
        self._playTimeSlider.thumbMinSize = 10
        self._playTimeSlider.thumbImage = r'Images\ScrollBarThumb.jpg'
        self.autoRemove(
            self._playTimeSlider.bind('Slide', self._onPlayTimeSlide))
        self.autoRemove(
            self._playTimeSlider.bind('Slide Start',
                                      self._onPlayTimeSlideStart))
        self.autoRemove(
            self._playTimeSlider.bind('Slide End', self._onPlayTimeSlideEnd))

        # Slider for 'Volume'
        self._volumeSlider = Slider(self)
        self._volumeSlider.bgColor = color.gray
        self._volumeSlider.vertical = True
        self._volumeSlider.rect = (400, 50, 10, 100)
        self._volumeSlider.thumbMinSize = 10
        self._volumeSlider.thumbImage = r'Images\ScrollBarThumb.jpg'
        self.autoRemove(self._volumeSlider.bind('Slide', self._onVolumeSlide))

        # Volume
        self._volumeText = Text(self)
        self._volumeText.autosize = True
        self._volumeText.text = 'Volume'
        self._volumeText.fontSize = 15
        self._volumeText.xy = (380, 155)

        # Media Information text
        self._mediaInfoText = Text(self)
        self._mediaInfoText.autosize = True
        self._mediaInfoText.fontSize = 15
        self._mediaInfoText.xy = (20, 45)
        self._mediaInfoText.text = 'FileName: \n' \
                                   'Duration: 0 min 0 sec\n'

        # Media Position text
        self._mediaPositionText = Text(self)
        self._mediaPositionText.autosize = True
        self._mediaPositionText.fontSize = 15
        self._mediaPositionText.xy = (20, 80)
        self._mediaPositionText.text = 'Position: 0 min 0 sec\n'

        # Playlist text
        self._playlistText = Text(self)
        self._playlistText.autosize = True
        self._playlistText.text = 'Playlist'
        self._playlistText.fontSize = 15
        self._playlistText.fontColor = color.blue
        self._playlistText.xy = (450, 30)

        # Restore the playlist from disk
        self.playList = {}
        self.workingDir = os.getcwd()  # Locate the current working directory

        try:
            playListFile = open(self.workingDir + r'\PlayList.pickle', 'rb')
        except IOError:
            print '[AudioBoxWindow::__init__] No Playlist File Found'
        else:
            print '[AudioBoxWindow::__init__] Load Playlist File'
            self.playList = pickle.load(
                playListFile)  # Dictionary storing the playlist
            playListFile.close()

        # Radio button group
        self._platListGroup = Group(self)
        self._platListGroup.xy = (450, 50)
        self._platListGroup.size = (200, 500)
        self._platListGroup.autosize = True

        # Display the playlist
        self.mediaButtonList = []
        self._refreshPlayList()

        # Flag indicating if the playTime slider is sliding
        self.playTimeSliding = False

        self.displayAnim = None
        self.displayAnimRunning = False