(filePath, index)
| 5786 | let license = 'Unknown'; |
| 5787 | if (description.includes('personal use')) { |
| 5788 | license = 'For Personal Use'; |
| 5789 | } else if (description.includes('creative commons')) { |
| 5790 | license = 'Creative Commons'; |
| 5791 | } else if (description.includes('commercial use')) { |
| 5792 | license = 'Commercial Use Allowed'; |
| 5793 | } |
| 5794 | |
| 5795 | // Log the found elements for debugging |
| 5796 | console.log('Found elements:', { |
| 5797 | titleElement: titleElement?.outerHTML, |
| 5798 | designerElement: designerElement?.outerHTML, |
| 5799 | descriptionElement: descriptionElement?.outerHTML |
| 5800 | }); |
| 5801 | |
| 5802 | return { |
| 5803 | parentModel, |
| 5804 | designer, |
| 5805 | license |
| 5806 | }; |
| 5807 | }); |
| 5808 | |
| 5809 | await browser.close(); |
| 5810 | console.log('Scraped data:', data); |
| 5811 | |
| 5812 | return data; |
| 5813 | } catch (error) { |
| 5814 | console.error('Error fetching Thangs page:', error); |
| 5815 | throw error; |
| 5816 | } |
| 5817 | }); |
| 5818 | |
| 5819 | async function deleteTagHandler(event, tagId) { |
| 5820 | try { |
| 5821 | return db.transaction(() => { |
| 5822 | // First delete from model_tags (child table) |
| 5823 | db.prepare('DELETE FROM model_tags WHERE tag_id = ?').run(tagId); |
| 5824 | |
| 5825 | // Then delete the tag itself |
| 5826 | db.prepare('DELETE FROM tags WHERE id = ?').run(tagId); |
| 5827 | |
| 5828 | return true; |
| 5829 | })(); |
| 5830 | } catch (error) { |
| 5831 | console.error('Error deleting tag:', error); |
| 5832 | throw error; |
| 5833 | } |
| 5834 | } |
| 5835 | ipcMain.handle('delete-tag', deleteTagHandler); |
| 5836 | ipcHandlerRegistry.set('delete-tag', deleteTagHandler); |
| 5837 | |
| 5838 | async function getTagModelCountHandler(event, tagId) { |
| 5839 | return new Promise((resolve, reject) => { |
| 5840 | const row = db.prepare('SELECT COUNT(*) as count FROM model_tags WHERE tag_id = ?').get(tagId); |
| 5841 | if (row) { |
| 5842 | resolve(row.count); |
| 5843 | } else { |
| 5844 | reject(new Error('Tag not found')); |
| 5845 | } |
no test coverage detected