Freddd13 / autoscore

琴可以不练,谱不能没有!!自动订阅HalyconMusicハルシオン的免费钢琴谱
5 stars 6 forks source link

Another problem on RSS to mymusicsheet #2

Closed Brianwind closed 1 month ago

Brianwind commented 1 month ago

最近似乎到mymusicsheet的rss出了点问题

我用的公共实例,比如https://rsshub.pseudoyu.com/mymusicsheet/user/sheets/HalcyonMusic/USD/1

这个链接进去就显示有问题,但是去掉后面的 1 就没问题了:

https://rsshub.pseudoyu.com/mymusicsheet/user/sheets/HalcyonMusic/USD

我看到那个rsshub对mymusicsheet的解析也是你做的,也许可以看看是哪里出了问题吗

Freddd13 commented 1 month ago

不加1是获取最近的谱子,加上1就是获取免费的谱子,不可以取消。 这个情况有时会出现,其实是加入免费谱子的参数去请求mymusicsheet本身就会报错,原因还不清楚,不排除是mymusicsheet的接口在某些情况不允许这个参数,但我没研究过。不过以这一年的经验看有免费的谱子时不会出现这个问题,都是作者太监那段出现的… 你暂时就当不定时抽抽风,问题不大。

至于为什么用rsshub,我当时的想法是正好给rsshub 做了个解析,就直接拿过来结果用了, 其实这还多了一层依赖不如直接爬了。有时间我会修改下rsshub的逻辑或者是直接不用rsshub了。 在 2024年9月22日+0800 17:08,BrianLeng @.***>,写道:

最近似乎到mymusicsheet的rss出了点问题 我用的公共实例,比如https://rsshub.pseudoyu.com/mymusicsheet/user/sheets/HalcyonMusic/USD/1 这个链接进去就显示有问题,但是去掉后面的 1 就没问题了: https://rsshub.pseudoyu.com/mymusicsheet/user/sheets/HalcyonMusic/USD 我看到那个rsshub对mymusicsheet的解析也是你做的,也许可以看看是哪里出了问题吗 — Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you are subscribed to this thread.Message ID: @.***>

Brianwind commented 1 month ago

OK明白了,感谢

不加1是获取最近的谱子,加上1就是获取免费的谱子,不可以取消。 这个情况有时会出现,其实是加入免费谱子的参数去请求mymusicsheet本身就会报错,原因还不清楚,不排除是mymusicsheet的接口在某些情况不允许这个参数,但我没研究过。不过以这一年的经验看有免费的谱子时不会出现这个问题,都是作者太监那段出现的… 你暂时就当不定时抽抽风,问题不大。 至于为什么用rsshub,我当时的想法是正好给rsshub 做了个解析,就直接拿过来结果用了, 其实这还多了一层依赖不如直接爬了。有时间我会修改下rsshub的逻辑或者是直接不用rsshub了。 在 2024年9月22日+0800 17:08,BrianLeng @.>,写道: 最近似乎到mymusicsheet的rss出了点问题 我用的公共实例,比如https://rsshub.pseudoyu.com/mymusicsheet/user/sheets/HalcyonMusic/USD/1 这个链接进去就显示有问题,但是去掉后面的 1 就没问题了: https://rsshub.pseudoyu.com/mymusicsheet/user/sheets/HalcyonMusic/USD 我看到那个rsshub对mymusicsheet的解析也是你做的,也许可以看看是哪里出了问题吗 — Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you are subscribed to this thread.Message ID: @.>

Freddd13 commented 1 month ago

@Brianwind 我刚改了代码,去掉了rsshub。 你现在可以拉最新的代码过去,应该不会报错了。 另外我看你fork的仓库好像没设置email,也没注释掉.gitignore中files,这样是保存不了谱子的。

Brianwind commented 1 month ago

@Freddd13 确实没有报错了,多谢 邮箱我试了一下qq邮箱,不知道为什么报错了,可能是我填的secrects里面哪个不对 我拉最新的代码之后,.gitignore里面的files/应该就自动解开了吧?之后有新谱子的时候我再观察下

Freddd13 commented 1 month ago

啊我那会测了下files存储,把过滤免费谱子关了。你拉的不是最新版本,重拉下然后把.gitignore里面的files删了应该就行了 在 2024年9月22日+0800 21:19,BrianLeng @.***>,写道:

@Freddd13 确实没有报错了,多谢 邮箱我试了一下qq邮箱,不知道为什么报错了,可能是我填的secrects里面哪个不对 我拉最新的代码之后,.gitignore里面的files/应该就自动解开了吧?之后有新谱子的时候我再观察下 — Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you were mentioned.Message ID: @.***>

Brianwind commented 1 month ago

hi,我又测试了一下邮件,所有的secrets应该都没问题,在本地都是可以直接拿来发邮件的,但是在actions上就发不出来。如果有空也许可以看看,没空就算了,反正也能存在files文件夹里。 这是我用来本地发邮件测试的代码,供参考:

import smtplib
from email.mime.text import MIMEText
from email.mime.multipart import MIMEMultipart
msg = MIMEMultipart()
msg['From'] = sender_email
msg['To'] = receiver_email
msg['Subject'] = subject
msg.attach(MIMEText(body, 'plain'))

try:
    with smtplib.SMTP_SSL(smtp_server, smtp_port) as server:
        server.login(sender_email, password)
        print("Email login success.")
        server.sendmail(sender_email, receiver_email, msg.as_string())
    print("Email sent.")
except Exception as e:
    print(f"Email failed: {e}")
Freddd13 commented 1 month ago

@Brianwind 如果你确认email相关的用户名密码什么的没有写错,那有可能是github @action那个ip登录不上邮箱。我一般用outlook,最新的代码可以正常登录outlook邮箱了,只是比较麻烦,和存onedrive一样需要去azure里面创建app再把参数写到配置里。如果你想使用邮件并愿意折腾可以试试