Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 7 additions & 3 deletions music_player/__manifest__.py
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,8 @@

'author': "My Company",
'website': "https://www.yourcompany.com",

'installable' : True,
'application' : True,
# Categories can be used to filter modules in modules listing
# Check https://github.com/odoo/odoo/blob/16.0/odoo/addons/base/data/ir_module_category_data.xml
# for the full list
Expand All @@ -28,10 +29,13 @@
'views/views.xml',
'views/templates.xml',
],
# 'assets' : {
# 'web.assets_backend': [
# 'music_player/static/src/app.js',
# ],
# },
# only loaded in demonstration mode
'demo': [
'demo/demo.xml',
],
'installable': True,
'application': True,
}
Binary file removed music_player/__pycache__/__init__.cpython-310.pyc
Binary file not shown.
Binary file added music_player/__pycache__/__init__.cpython-38.pyc
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
32 changes: 13 additions & 19 deletions music_player/controllers/controllers.py
Original file line number Diff line number Diff line change
@@ -1,29 +1,23 @@
# -*- coding: utf-8 -*-
import json
#-*- coding: utf-8 -*-
from odoo import http
from odoo.http import Response
from odoo.modules.module import get_module_resource
import json

class MusicPlayer(http.Controller):
@http.route('/music', auth='public')
def index(self, **kw):
return http.request.render('music_player.music_template')

@http.route('/music/search', auth='public', type="http", methods=["GET"])
@http.route('/music/search', auth='public',type="http",methods=['GET'])
def search(self, **kw):
# Retrieve the song name from the search query
song_name = kw.get('song_name')
# you will be facing you are not allowed to acces this model ---> add to manifest the csv file. remove group for now
musics = http.request.env['music_player.music_player'].search_read([('name', 'ilike', song_name)],fields={"name", "url"})
if not musics:
musics = "Song not Found"

return Response(json.dumps({'result': musics}), content_type='application/json')

# A controller to play song from the audio
song_name = kw.get('song_name')
songs = http.request.env['music_player.player'].search_read([('name','ilike',song_name)],fields=["name","url"])
if not songs:
songs = "Song not found."
return http.Response(json.dumps({'result':songs}),content_type='application/json')

@http.route('/music/<model("music_player.music_player"):music>', type='http', auth="public", methods=["GET"])
def load(self, music, **kw):
music_file_path = get_module_resource('music_player', 'static/songs', music.filename)
file = open(music_file_path, 'rb').read()
return file
@http.route('/music/<model("music_player.player"):music>',type="http",auth="public",methods=['GET'])
def load(self,music,**kw):
music_file_path = get_module_resource('music_player','static/songs',music.filename)
file = open(music_file_path,'rb').read()
return file
18 changes: 9 additions & 9 deletions music_player/demo/demo.xml
Original file line number Diff line number Diff line change
@@ -1,36 +1,36 @@
<?xml version="1.0" encoding="utf-8"?>
<odoo>
<record model="music_player.music_player" id="song1">
<record model="music_player.player" id="song1">
<field name="name">Akon-Be-With-You</field>
<field name="filename">Akon-Be-With-You.mp3</field>
</record>
<record model="music_player.music_player" id="song2">
<record model="music_player.player" id="song2">
<field name="name">Akon-Beautiful</field>
<field name="filename">Akon-Beautiful.mp3</field>
</record>
<record model="music_player.music_player" id="song3">
<record model="music_player.player" id="song3">
<field name="name">Akon-Birthmark</field>
<field name="filename">Akon-Birthmark.mp3</field>
</record>
<record model="music_player.music_player" id="song4">
<record model="music_player.player" id="song4">
<field name="name">Akon-Keep-You-Much-Longer</field>
<field name="filename">Akon-Keep-You-Much-Longer.mp3</field>
</record>
<record model="music_player.music_player" id="song5">
<record model="music_player.player" id="song5">
<field name="name">Akon-Sunny-Day</field>
<field name="filename">Akon-Sunny-Day.mp3</field>
</record>

<record model="music_player.music_player" id="song6">
<record model="music_player.player" id="song6">
<field name="name">Temp-song-1</field>
<field name="filename">Temp-song-1.mp3</field>
</record>
<record model="music_player.music_player" id="song7">
<record model="music_player.player" id="song7">
<field name="name">Temp-song-2</field>
<field name="filename">Temp-song-2.mp3</field>
</record>
<record model="music_player.music_player" id="song8">
<record model="music_player.player" id="song8">
<field name="name">Temp-song-3</field>
<field name="filename">Temp-song-3.mp3</field>
</record>
</odoo>
</odoo>
Binary file not shown.
Binary file not shown.
Binary file removed music_player/models/__pycache__/models.cpython-310.pyc
Binary file not shown.
Binary file not shown.
Binary file removed music_player/models/__pycache__/player.cpython-310.pyc
Binary file not shown.
Binary file not shown.
14 changes: 7 additions & 7 deletions music_player/models/player.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,14 +3,14 @@
from odoo import models, fields, api


class music_player(models.Model):
_name = 'music_player.music_player'
_description = 'music_player.music_player'
class Player(models.Model):
_name = 'music_player.player'
_description = 'Music Player'

name = fields.Char('Song Name')
filename = fields.Char("File name")
url = fields.Char(compute="_compute_url") # for a computed url
name = fields.Char("Song Name")
filename = fields.Char("File Name")
url = fields.Char(compute="_compute_url")

def _compute_url(self):
for record in self:
record.url = record.get_base_url() + '/music/' + str(record.id)
record.url = record.get_base_url() + '/music/' + str(record.id)
2 changes: 1 addition & 1 deletion music_player/security/ir.model.access.csv
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink
access_music_player_music_player,music_player.music_player,model_music_player_music_player,,1,1,1,1
music_player.access_music_player_player,access_music_player_player,music_player.model_music_player_player,base.group_user,1,1,1,1
129 changes: 0 additions & 129 deletions music_player/static/app.js

This file was deleted.

Loading