feature: dump and load data
This commit is contained in:
parent
684d347f3e
commit
ad601a3202
3 changed files with 58 additions and 4 deletions
|
|
@ -31,6 +31,10 @@ local defaults = {
|
|||
},
|
||||
border = {
|
||||
style = 'rounded',
|
||||
text = {
|
||||
top="",
|
||||
top_align="left"
|
||||
}
|
||||
},
|
||||
win_options = {
|
||||
winhighlight = 'Normal:Normal,FloatBorder:FloatBorder',
|
||||
|
|
@ -99,8 +103,14 @@ M.setup = function(config, input_opts, callback)
|
|||
}
|
||||
end
|
||||
|
||||
M.open = function(opts, callback)
|
||||
local ui = M.setup(state.user_opts, opts, callback)
|
||||
M.open = function(opts, popup_opts, callback)
|
||||
local pop_opts = defaults.popup
|
||||
state.user_opts = {}
|
||||
if popup_opts ~= nil or popup_opts == {} then
|
||||
pop_opts = popup_opts
|
||||
end
|
||||
local state_user_opts = fn.merge(state.user_opts, pop_opts)
|
||||
local ui = M.setup(state_user_opts, opts, callback)
|
||||
fn.check_nvim()
|
||||
|
||||
M.inp = require('nui.input')(ui.popup, ui.input)
|
||||
|
|
|
|||
|
|
@ -9,6 +9,20 @@ local mappings = {
|
|||
end,
|
||||
desc = "create app",
|
||||
},
|
||||
["<leader>jd"] = {
|
||||
function()
|
||||
django.dump_data()
|
||||
end,
|
||||
desc = "dump data",
|
||||
},
|
||||
["<leader>jo"] = {
|
||||
function()
|
||||
django.load_data()
|
||||
end,
|
||||
desc = "load data",
|
||||
},
|
||||
|
||||
|
||||
["<leader>jp"] = {
|
||||
function()
|
||||
django.create_package()
|
||||
|
|
|
|||
|
|
@ -185,11 +185,11 @@ local function env_ip(ip)
|
|||
end
|
||||
|
||||
function M.create_app()
|
||||
inp.open({ prompt = "create app: " }, perform_create_app)
|
||||
inp.open({ prompt = "create app: " },{},perform_create_app)
|
||||
end
|
||||
|
||||
function M.create_package()
|
||||
inp.open({ prompt = "create package: " }, perform_create_package)
|
||||
inp.open({ prompt = "create package: " },{}, perform_create_package)
|
||||
end
|
||||
|
||||
function M.create_env_file(opts)
|
||||
|
|
@ -283,5 +283,35 @@ function M.compile_messages()
|
|||
toggleterm.exec("./manage.py compilemessages", term_num, 100, ".", "float", "compile_messages", false)
|
||||
end
|
||||
|
||||
local function perform_dump_data(value)
|
||||
local term_num = 13
|
||||
toggleterm.exec(
|
||||
"./manage.py dumpdata --natural-foreign --natural-primary -e contenttypes -e auth.Permission -e sessions.session -e admin.logentry --indent 2 > " .. value .. ".json",
|
||||
term_num,
|
||||
100,
|
||||
".",
|
||||
"float",
|
||||
"dump_data",
|
||||
false
|
||||
)
|
||||
end
|
||||
|
||||
local function perform_load_data(value)
|
||||
local term_num = 14
|
||||
toggleterm.exec("./manage.py loaddata" .. value .. ".json", term_num, 100, ".", "float", "load_data", false)
|
||||
end
|
||||
|
||||
function M.dump_data()
|
||||
inp.open({ prompt = "name: ", default_value ="dump_db"},
|
||||
{popup = {border = {text = {top ="Dump data", top_align="left"}}}},
|
||||
perform_dump_data)
|
||||
end
|
||||
|
||||
function M.load_data()
|
||||
inp.open({ prompt = "name: ", default_value = "dump_db"},
|
||||
{ popup = {border = {text = {top ="Load data", top_align="left"}}}},
|
||||
perform_load_data)
|
||||
end
|
||||
|
||||
|
||||
return M
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue